c语言:如何限制数字在某个范围?

要求输入整数数字,从0到最大值都可以,但是不能输入其他值(字母,负数等),当输入错误会提示re-enter it.

要怎么解决这个问题呢? 想很久都想不到。
菜鸟求救

这个可以用if循环实现。比如你要输入一个数a的范围是0到100,你先从键盘输入一个数字,经if循环if(a>=0&&a<=100)判定,如果在这个范围内,进入循环内进行其他运算,不在这个范围内跳出if循环,在else语句内输出超出范围的提示
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-10-05
给你个思路吧。用char*来存储输入的值,然后用atoi函数来进行整数转换。atoi函数失败会返回0,那么字母的问题就得以解决了。其他范围值只需判断一下就好了。
我就不写完整代码了,这样反而对你没有好处。相信你能解决了的!
第2个回答  2019-04-26
用for循环语句
int
n;float
sum=0;
for(n=1;n<=1000;n++)
sum+=sum;
n++;
这是第一行求和。
第二行类似,用空格隔开时在输出语句上加上格式控制符空格就可以了,这道题是
printf("
%f";sum);
注意百分号前面的空格。
如果比较满意的话请采纳吧。-_-
第3个回答  2009-10-05
#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
int main(void)
{
char ch;
for(;scanf("%c",ch)!=10;)
if(!isdigit(ch))printf("re-enter it:\n");
exit(0);
}
第4个回答  2009-10-05
定义一个标志
int flag;
int nNum;
然后flag = scanf("%d", nNum);
if(0 == flag)
{
printf("输入的不是数字");
}
当flag为0的时候就不是正确输入数字

这还可以推广为
char ch;
flag = scanf("%c", ch);
if(0 == flag)
{
printf("输入的不是字符");
}本回答被网友采纳

c语言:如何限制数字在某个范围?
这个可以用if循环实现。比如你要输入一个数a的范围是0到100,你先从键盘输入一个数字,经if循环if(a>=0&&a<=100)判定,如果在这个范围内,进入循环内进行其他运算,不在这个范围内跳出if循环,在else语句内输出超出范围的提示

c语言怎么定义一个数字的数值范围?
逻辑判断中确定某数在某个范围内。比如判断数c在[a,b]区间内可以写作 (a<=c)&& (c <= b)2 使计算结果处于某个范围内。比如计算时间时,当前时间为n点,经过m小时后是几点,由于时间仅取值在0点到23点,所以对数值范围需要做约束。对于此可以用模除(%)来限定。(n+m)%24 其它关于数值范围...

c语言 怎么将输入的数字限制在六位啊
fp1); fclose(fp1);} int main(void){ new_customer(); return 0;}测试截图:提示字符太多,就不写注释了。

C语言怎么限制最大输出数字长度?
int main(){ unsigned long a;scanf("%lu",&a);if(a>9999){ a-=9999;} printf("%lu\\n",a);return 0;}

如何用c语言控制数字的有效位数?
C语言控制输出数字的有效位数可以使用printf()函数格式化输出格式。printf()函数的调用格式为: printf("<格式化字符串>", <参量表>)。其中格式化字符串可以控制输出数字的有效位数,只要将格式化字符串中加入%x.y就可以设置输出的数字的位数了。x指定数据的宽度,即在输出时可以输出的最多数字位数;y指定...

C语言中如何限制输入的数据的大小
可以参考下面的代码:int i = 0;while ( i < 10){ scanf("%d",&m);if ( m != 0 || m!= 1) continue;else{ array[i] = m;i++;} } C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器...

斐波那契数列c语言编程如何限定输入范围
你的这个程序并没有太大的问题,只是一些细节问题,显示的话 ,可以调整为每个几个(推荐10个)一行的输出格式,函数的功能是输出前n项吧,那就得处理好输出的格式问题咯,还有你说前50项,其实,在输出前30项的时候,数字就已经很大了,所以输出格式难免会有点混乱,这是正常的,下面是我改善了之后...

C语言中怎样限制输入值为字符串或数字
1.凡是数字皆为字符。任何数字首先是字符,然后才能是数字。所以这个问题应该是如何在字符中识别数字。直接将每个字符挨个提取出来,将他赋给一个整型,得到它的ASCII码值。然后根据ASCII码的范围来判断它到底是数字字符还是非数字字符。由下表可以得知,数字范围在48~57的都是数字字符。2.用isdigit()函数...

C语言如何控制输出数字的有效位数
只需要在输出的最后添加上printf函数就可以了:double 型数据:printf("%.5lf\\n",a);float 型数据: printf("%.5f\\n",a);其中 printf("%n.mlf\\n",a); n为一共多少位,m为小数后多少位。以下是格式:printf(“格式控制字符串”,输出表列)格式控制字符串 为 %- 0 m.n l\/h 格式字符...

在C语言里边,如何限定一个变量的赋值范围
用scanf可能实现不了你的要求。你可以用fgets或者fread将输入读近来,然后解析成数字,判断其范围,满足条件的话,赋值给a。int a;char str[10];fgets(str, 10, stdout);int b = -1;b = atoi(str);if(b == 0 || b == 1)a = b;...

相似回答