C言語プログラミング(第3版)彼Qinming演習2-4
演習のリスト |
---|
1. C言語プログラミング(第3版)彼は秦明の演習2-1 |
2. C言語プログラミング(第3版)彼は秦明の演習2-2 |
3. C言語プログラミング(第3版)彼は秦明の演習2-3 |
4. C言語プログラミング(第3版)彼は秦明の演習2-4 |
5. C言語プログラミング(第3版)彼は秦明の演習2-5 |
6. C言語プログラミング(第3版)彼は秦明の演習2-6 |
トピック
インターリーブシーケンスの最初のn項目の合計を求めます。正の整数nを入力し、インターリーブシーケンスの最初のn項目の合計を計算
して、対応するプログラムを作成してみます。
分析プロセス
入る
条件:正の整数nを入力してください
出力
条件:出力と
コード
#include <stdio.h>
#include <math.h>
int main () {
/*定义变量*/
int n = 0; /*定义变量,存储输入的正整数n*/
int flag = 1; /*每个元素正负,1代表正,-1代表负;第一个元素为正,所以flag默认值为1*/
int denominator = 1; /*每个元素的分母值;第一个元素分母为1,所以denominator默认值为1*/
double sum = 0; /*存储计算总和*/
/*赋值*/
printf("请输入正整数n:\n"); /*输入提示*/
scanf("%d\n", &n); /*输入n整数并赋给变量*/
/*计算数据和*/
for(double i = 1 ; i<=n ; i++){
sum += flag * (i/denominator); /*依次计算第i个元素值,加到sum上*/
denominator += 2; /*第i个元素的分母值为前一个元素加2*/
flag = -flag; /*第i个元素的正负为前一个元素的flag的相反数*/
}
/*输出计算结果*/
printf("前%d个数的总和为:%.6f \n", n, sum);/*输出提示*/
return 0;
}