1 /* 2 * Main.c 3 * C10-循環-10. 求序列前N項和 4 * Created on: 2014年7月30日 5 * Author: Boomkeeper 6 *******部分通過******* 7 */ 8 9 #include <stdio.h> 10 11 int main(void) { 12 13 double sum = 0.0; //記錄前N項和 14 int numerator = 2,denominator = 1; //分子分母 15 int N; //題目中的N 16 int i;//循環使用 17 int tem = 0; 18 19 scanf("%d", &N); 20 21 if (N == 1) 22 printf("%.2f\n", (double) numerator / denominator); 23 else { 24 sum = (double) numerator / denominator; 25 for (i = N; i > 1; i--) { 26 tem = denominator; 27 denominator = numerator; 28 numerator = numerator + tem; 29 sum += (double) numerator / denominator; 30 } 31 printf("%.2f\n", sum); 32 } 33 34 return 0; 35 }
不完美...
題目鏈接:
http://pat.zju.edu.cn/contests/basic-programming/%E5%BE%AA%E7%8E%AF-10
,
,
,
#include <stdio.h>
float xulie(int x);
void main()
{
int n;
scanf("%d",&n);
printf("%f",xulie(n));
}
float xulie(int x)
{
if(x==1)
return 1;
else
return (x%2==0)?xulie(x-1)+1.0/x:xulie(x-1)-1.0/x;
}
有必要用個大數組麼~
在下的版本:請指正~
#include<stdio.h>
void main()
{
int a = 1, b = 2, c, i;
double sum = 2;
for( i=1; i<10; i++ )
{
c = a + b, a = b, b = c;
sum += double(b) / a;
}
printf("數列前十項和為:%f\n", sum);
}
結果:16.479906~
第一個回答不會發生數組溢出錯誤麼?~d[10]是干什麼用的?沒有經過初始化就使用了,發生了除零錯誤~
第二個顯然誤解了樓主的意思了~而且數列要累加到第十項,那個整數列要算到第十一項~