如何提示用户输入一定数量的整数

时间:2014-02-14 03:39:03

标签: c loops if-statement while-loop

我试图弄清楚用什么语句让用户输入1到10之间的数字。

这是我到目前为止所拥有的。

int a;
printf("Enter a number between 1 and 10: \n);
scanf("%d", &a);

3 个答案:

答案 0 :(得分:1)

int input;

while (true){
    scanf("%d",&input);
    if (input>=1 && input<=10){
        // process with your input then use break to end the while loop
    }
    else{
        printf("Wrong input! try Again.");
        continue;
    }
}

答案 1 :(得分:0)

1到10之间的数字对吗?所以第一阶段你必须验证输入是否是整数然后你将检查范围,

以下代码是我提到的

#define MAX_RANGE 10
int input;
if (scanf("%d",&input) != 1) 
{
    printf ("Really bad input please enter integer number like in range 1 - 10\n");

}

现在处于第二阶段如下

if (input < 1 || input > MAX_RANGE) {
   printf("It's an integer but out of range error\n");
}

您也可以使用while..loop,如下所示

int input;

while (scanf("%d", &input) == 1 && input > 1 && input < 10)

{

    // process your input

}

答案 2 :(得分:0)

为什么不使用do .. while循环?

int a;

do {
  printf("Enter a number between 1 and 10: \n");
  scanf("%d", &a);
} while (a < 1 || a > 10);