習題2-4 求交錯序列前N項和 (15 分)
本題要求編寫程序,計算交錯序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N項之和。
輸入格式:
輸入在一行中給出一個正整數N。
輸出格式:
在一行中輸出部分和的值,結果保留三位小數。
輸入樣例:
5
輸出樣例:
0.917
分析:
交錯序列 1-2/3+3/5-4/7+5/9-6/11+... 中:分子都是n本身,分母是2n-1;由此只需區分交錯的正負數,而所用公式完全相同,所以可按n的奇偶性區分正負號。
C語言代碼如下:
1 #include <stdio.h> 2 int main(){ 3 int n; 4 scanf("%d", &n); 5 float sum = 0; 6 for(int i = 1; i <= n; i++){ 7 if(i % 2 != 0){ 8 sum += i / (2 * i - 1.0); 9 } 10 else{ 11 sum -= i / (2 * i - 1.0); 12 } 13 } 14 printf("%.3f", sum); 15 return 0; 16 }
