主题:C语言大一新生求助!
f34355281
[专家分:50] 发布于 2011-04-16 11:06:00
我想写一个输入一个数,判断这个数是否在1000内,如果在,开根!如果不在显示重新输入的程序!
请高手指点,显示重新输入了,我的程序要可以继续运行!我写出程序后,我输入1001它显示请重新输入,可我在按键盘它就没了,我想要我还能它显示请重新输入后,我能在输入一个数继续程序!
不知道表达的你们懂吗?请高手给代码…
回复列表 (共7个回复)
沙发
ucchen [专家分:80] 发布于 2011-04-16 18:25:00
可以用while循环做啊~~
当然你也可以用GOTO语句来做,不过不推荐用GOTO语句来做
代码就自己琢磨啦~~~
板凳
彼岸之歌 [专家分:50] 发布于 2011-04-16 22:03:00
嗯,循环条件你已经表达得很清晰了,可见你对这个过程的思路已经有了~~接下来就是把自己的思想转换为代码啦~~自己动手吧~~然后把你的代码贴上来,可以帮你找找问题啦~~
3 楼
limao090407 [专家分:60] 发布于 2011-04-16 23:15:00
在你的主程序最外层加上一个循环即可,这样程序就可以反复执行了,而不会只执行一次了。
for example:
void main()
{
while(1)
{
//你的代码
}
}
4 楼
wanghe123 [专家分:0] 发布于 2011-04-17 22:52:00
这是我的代码,已经ac了
#include "stdio.h"
void main()
{int a;
while(1)
{scanf("%d",&a);
if(a>1000)
{printf("请重新输入:");
continue;}
else {
printf("%d",sqrt(a));
break;
}
}
}
5 楼
万里江山 [专家分:10] 发布于 2011-05-09 15:50:00
这样就OK了
#include "stdio.h"
#include<math.h>
void main()
{
int a;
while(1)
{
scanf("%d",&a);
if(a>1000)
{
printf("请重新输入:");
}
else
{
printf("%lf\n",sqrt(a));
break;
}
}
}
6 楼
cxxcomp [专家分:2370] 发布于 2011-05-09 22:01:00
#include <iostream>
#include <cmath>
using namespace std;
int main(int, char **, char **)
{
float num;
while (cin >> num)
{
if (num >= 0 && num <= 1000)
cout << "num = " << num << "\nsqrt(num) = " << sqrt(num) << endl;
else
{
cout << "over range\n";
continue;
}
}
}
CTRL Z 结束输入。
7 楼
f34355281 [专家分:50] 发布于 2011-05-21 16:47:00
我是C语言不是c++,但是还是谢了!
我来回复