
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...。 展开
1)m和n由键盘输入,正整数m<n;输入错误提示并退出。
2)在屏幕一行里输出m和n之间(含m和n)的所有符合要求的整数,用空格隔开。
3)若没有打到符合要求的数则输出No...。 展开
4个回答
展开全部
代码文本:
#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;
}
展开全部
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;
}
请采纳,谢谢。
{
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;
}
请采纳,谢谢。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在计算过程中肯定是完全平方,所谓的你的整数就是正确的比的话,它的输出值也是比较错误的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询