C语言如何把没结果单分成一种情况
本帖最后由 宸宸城堡 于 2021-8-24 22:16 编辑下面的这个for循环
如何设置成有结果就输出结果,没结果输出No Result
现在是只能输出有结果的情况,没法输出No Result的情况
求各位大神解答
附题目:输入两个数字 m 和 n,构成一个闭区间 。其中m,n满足:0<= m <= n <=10000000;
要求按顺序(从小到大)输出该区间 内所有的奇数的平方数,若不存在这样的平方数,则输出:No Result.
例如1
输入:100200
输出:
121
169
例如2
输入:1020
输出:No Result.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int m,n,i,a;
scanf("%d %d",&m,&n);
for(i=1;i<=10000000;i=i+2)
{
a=pow(i,2);
if(a>=m && a<=n)
{
printf("%d\n",a);
}
}
return 0;
} 增加一个标志变量,如果有则另该变量等于一个值,否则等于另外一个值
那么循环结束之后根据该值就能确定是否有 wp231957 发表于 2021-8-24 22:18
增加一个标志变量,如果有则另该变量等于一个值,否则等于另外一个值
那么循环结束之后根据该值就能确定是 ...
能稍微详细说说嘛
我是新手刚学C语言{:5_110:},不太会用标志变量
感谢大佬 宸宸城堡 发表于 2021-8-24 22:26
能稍微详细说说嘛
我是新手刚学C语言,不太会用标志变量
我改了一下,原来你用的pow,不知道为什么会产生一些莫名其妙的结果
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int m,n,i,a;
scanf("%d%d",&m,&n);
int flag=1;
for(i=1;i<=10000000;i=i+2)
{
a=i*i;
if(a>=m && a<=n)
{
printf("%d\n",a);
flag=0;
}
}
if (flag)
printf("没有找到结果\n");
return 0;
}
页:
[1]