回 帖 发 新 帖 刷新版面

主题:C语言大一新生求助!

我想写一个输入一个数,判断这个数是否在1000内,如果在,开根!如果不在显示重新输入的程序!
请高手指点,显示重新输入了,我的程序要可以继续运行!我写出程序后,我输入1001它显示请重新输入,可我在按键盘它就没了,我想要我还能它显示请重新输入后,我能在输入一个数继续程序!
不知道表达的你们懂吗?请高手给代码…

回复列表 (共7个回复)

沙发


可以用while循环做啊~~
当然你也可以用GOTO语句来做,不过不推荐用GOTO语句来做
代码就自己琢磨啦~~~

板凳

嗯,循环条件你已经表达得很清晰了,可见你对这个过程的思路已经有了~~接下来就是把自己的思想转换为代码啦~~自己动手吧~~然后把你的代码贴上来,可以帮你找找问题啦~~

3 楼

在你的主程序最外层加上一个循环即可,这样程序就可以反复执行了,而不会只执行一次了。
for example:
void main()
{
  while(1)
  {
     //你的代码
  }

}

4 楼


这是我的代码,已经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 楼


这样就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 楼

#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 楼


我是C语言不是c++,但是还是谢了!

我来回复

您尚未登录,请登录后再回复。点此登录或注册