C语言 从键盘输入一个小于1000的正数,要求输入他的平方根,如平方根不是整数,则输入其整数部分。
要求在输入数据后先对其进行检查是否为小于1000的正数,如不是,则要求重新输入。#include<stdio.h>#include<math.h>intmain(){in...
要求在输入数据后先对其进行检查是否为小于1000的正数,如不是,则要求重新输入。
#include<stdio.h>
#include<math.h>
int main()
{
int x,y;
printf("输入一个小于1000的整数\n");
scanf("%d",&x);
if(x>=1000&&x<=0)
{
printf("输入的数不符合,请再输入一次\n");
scanf("%d",&x);
y=sqrt(x);
}
else
y=sqrt(x);
printf("y=%d\n",y);
return 0;
}
哪位大神帮我看看出错在哪里,为什么无论我输入什么数都可以执行开根号,而不会显示重新输入。 展开
#include<stdio.h>
#include<math.h>
int main()
{
int x,y;
printf("输入一个小于1000的整数\n");
scanf("%d",&x);
if(x>=1000&&x<=0)
{
printf("输入的数不符合,请再输入一次\n");
scanf("%d",&x);
y=sqrt(x);
}
else
y=sqrt(x);
printf("y=%d\n",y);
return 0;
}
哪位大神帮我看看出错在哪里,为什么无论我输入什么数都可以执行开根号,而不会显示重新输入。 展开
1个回答
展开全部
#include<stdio.h>
#include<math.h>
int main()
{
int x,y;
printf("输入一个小于1000的整数\n");
scanf("%d",&x);
while(x>=1000||x<=0) /*条件是或,不是和,x>1000和x<0不可能同时成立,因此永远不会执行*/
{
printf("输入的数不符合,请再输入一次\n");
scanf("%d",&x);
}
y=sqrt(x);
printf("y=%d\n",y);
return 0;
}
追问
奥,对呀。谢谢了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询