帮忙翻译下int f1=0,f2=1,flag=0;while(flag==0){ f1=f1+f2;f2=f2+f1;if(t>=f1&&t<=f2){ flag=1;return f2;}}}/* 程序设计题:求Fibonacci数列中大于t的最小一个数结果由函数JSValue返回,F(n)定义为F(0)=0,F(1)=1,F(n)=F(n-1)+ F(n-2),分别计算出当t=1000和3000时的结果*/#include<stdio.h>int JSValue(int t){ /*考生在这里添加代码*/int f1=0,f2=1,flag=0;while(flag==0){ f1=f1+f2;f2=f2+f1;if(t>=f1&&t<=f2){ flag=1;return f2;}}}void main(){ FILE *p;p=fopen(“design.dat”,”w”);fprintf(p,”%d,%d”, JSValue(1000),JSValue(3000));fclose(p);}
2 回答
Smart猫小萌
TA贡献1911条经验 获得超7个赞
这是while语句;
形式是:
while(一个值
或
一个表达式)//*如果这个值,或表达式的值不是0,那么执行下面程序
{执行的任务;}
如果表达式的值是0,那么停止循环*//
这是一个循环如果flag是0那么停止循环,如果flag非0继续循环;
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
flag 是 一个标记变量
if(t>=f1&&t<=f2)如果这条语句没有符合条件,那么循环就可以继续下去,即运算F(n)=F(n-1)+ F(n-2).
if(t>=f1&&t<=f2)符合条件,那么flag = 1.则跳出循环.因为已经找到符合条件的f2了.
其实完全没有必要flag.return 语句直接控制跳出这个函数了
int JSValue(int t)
{ /*考生在这里添加代码*/
int f1=0,f2=1;
while(1)
{ f1=f1+f2;
f2=f2+f1;
if(t>=f1&&t<=f2)
{
return f2;}
}
}
- 2 回答
- 0 关注
- 680 浏览
相关问题推荐
添加回答
举报
0/150
提交
取消