求解C++循环作业题

img

这个流程图代码我该怎么改
#include <stdio.h>
int main() {
int i=1,n,flag=0;
scanf("%d",&n);
for(i=1;ii<=n;i++)
{
if (i
i==n)
flag=1;
break;
}
if(flag=1)
printf("TRUE");
else
printf("FALSE");
return 0;
}

if(flag==1)
记住判断是==,=是赋值
为了避免写错你可以这样写
if(1==flag),反正判断相等,写前写后都一样,但是如果不小心写成1=flag,那么是给常数赋值,根本过不了编译,就不至于运行不出结果才知道错误
而且C语言是弱类型,int和bool可以互相隐式转换
可以直接写if(flag),如果flag是1就代表true