C语言:输出m~n之间的+100且+268结果都是完全平方数的所有整数,咋写?

要求:1)m和n由键盘输入,正整数m<n;输入错误提示并退出。2)在屏幕一行里输出m和n之间(含m和n)的所有符合要求的整数,用空格隔开。3)若没有打到符合要求的数则输出... 要求:
1)m和n由键盘输入,正整数m<n;输入错误提示并退出。
2)在屏幕一行里输出m和n之间(含m和n)的所有符合要求的整数,用空格隔开。
3)若没有打到符合要求的数则输出No...。
展开
 我来答
White_MouseYBZ
2020-10-11 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:8176万
展开全部

代码文本:

#include "stdio.h"

int main(int argc,char *argv[]){

int m,n,i,e,f;

printf("Please enter m & n(int 0<m<n<100000001)...\n");

if(scanf("%d%d",&m,&n)==2 && m>0 && n>m && n<100000001){

for(i=e=0;m<=n;m++){

for(f=m+100,i++;i*i<f;i++);

for(i--;i*i<=f;i++);

if(i--,i*i==f){

for(f=m+268,i++;i*i<=f;i++);

if(i--,i*i==f){

printf("%d ",m);

e=1;

}

}

}

if(e==0)

printf("No...");

}

else

printf("Input error, exit...");

putchar('\n');

return 0;

}

参观西湖
2020-10-11 · 古籍有很多,写出来一起欣赏。
参观西湖
采纳数:919 获赞数:2319

向TA提问 私信TA
展开全部
int main ()
{
int m,n,a,i,e,f;
printf("依次输入m n两个正整数,要求m<n:");
scanf("%d %d",&m,&n);
if(m>=n){
printf("输入错误,运行终止\n");
return 0;
}
int count=0;//统计m n之间一共多少个符合要求
for(i=m;i<=n;i++)
{
e=sqrt(i+100);//一个数加100
f=sqrt(i+268);//一个数加268
if ( (sqrt(i+100)==e)&& (sqrt(i+268)==f) )
{
count+=1;//计数
printf("%d ",i);//打印
}
}
if( count==0)
{
printf ("No");
}

return 0;
}
请采纳,谢谢。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xoaxa
2020-10-11 · TA获得超过8613个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3938万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
娱乐影视君
2020-10-11 · TA获得超过3908个赞
知道大有可为答主
回答量:1.7万
采纳率:92%
帮助的人:741万
展开全部
在计算过程中肯定是完全平方,所谓的你的整数就是正确的比的话,它的输出值也是比较错误的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式