用了斐波那契数列的方法求解了答案。
可能比较麻烦,也是另一种思路吧。
float snFraction(int a);
int main(int argc, char* argv[])
{
float total= 0;
int amount,i;
scanf("%d",&amount);
for(i = 1 ; i <= amount ; i++)
{
total += snFraction(i+1)/snFraction(i);
}
printf("%.2f\n",total);
system("pause");
return 0;
float snFraction(int a)
{
float result;
if( a <= 2)
{
result = a;
}
else
{
result = snFraction (a - 1) + snFraction (a - 2);
}
return result;
}
0.0分
0 人评分
C语言训练-计算1977!* (C++代码)浏览:897 |
【回文数(二)】 (C语言代码)浏览:780 |
剪刀石头布 (C语言代码)不知道怎么直接在scanf中用枚举变量浏览:1374 |
简单的for循环浏览:1454 |
简单的a+b (C语言代码)浏览:657 |
关于float,double变量的几点说明浏览:1882 |
程序员的表白 (C语言代码)浏览:635 |
格式化数据输出 (C语言代码)浏览:856 |
输出九九乘法表 (C语言代码)浏览:1138 |
C语言训练-大、小写问题 (C语言代码)浏览:699 |