为了账号安全,请及时绑定邮箱和手机立即绑定

求解以下语句的意思,请问while(flag==0)是什么意思,是关于c语言的问题?

求解以下语句的意思,请问while(flag==0)是什么意思,是关于c语言的问题?

紫衣仙女 2021-07-08 11:07:43
帮忙翻译下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继续循环;

查看完整回答
反对 回复 2021-07-11
?
梵蒂冈之花

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;}
}
}



查看完整回答
反对 回复 2021-07-11
  • 2 回答
  • 0 关注
  • 680 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信