C语言中如何限制输入的数据的大小

一个有十个数的数组,要使输入数组的数据都是0或者1,要怎样来限制呢?

可以参考下面的代码:

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语言参考函数

C语言isprint()函数:判断一个字符是否是可打印字符

C语言islower()函数:判断一个字符是否是小写字母

C语言ldexp()函数:返回x乘以2的exponent次方(次幂)的值

C语言labs()函数:求整数的绝对值(针对long类型)

C语言isgraph()函数:判断一个字符是否是图形字符

C语言isdigit()函数:判断一个字符是否为数字

参考资料来源:百度百科-c语言

参考资料来源:百度百科-C语言函数

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-21

可用do {}while()来限制输入数据的大小,如,要求输入的数据在[0,1]之间:

int a[10];
int i;
for( i=0;i<10;i++ )
{
    do {
        scanf("%d", &a[i] );
    } while( a[i]>1 || a[i]<0 );
}

第2个回答  推荐于2017-09-27
int i = 0;
while ( i < 10)
{
scanf("%d",&m);
if ( m != 0 || m!= 1) continue;
else{
array[i] = m;
i++;
}
}本回答被提问者采纳
第3个回答  2011-04-14
int i = 0;
while ( i < 10)
{
scanf("%d",&m);
if ( m != 0 || m!= 1) continue;
else{
array[i] = m;
i++;
}
你试下

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语言中如果输入数据太大,该怎么避免?
C语言的输入输出比较原始,要看是如何进行输入的:1,从控制台输入 这里其实输入的都是终端的字节流,控制字节流就可以达到控制输入数据的目的 2,从其他输入设备输入 例如,从文件读取,那么就要在程序里读取合适大小的数据段,避免出现溢出的现象。

C语言如何保证输入的数据全大于零?
没法强制,因为输入的是用户 你应该在程序中做异常检查:也就是在用户输入后首先对输入进行检查,符不符合你的要求,并对异常输入进行处理,最简单的就是要求用户重新输入

C语言如何限制变量范围?
每个整数都在-10^5~10^5之间,即-100000~100000之间,这里最大的数是10000,变换成16进制就是186A0,数据占用3个字节;最坏情况下1000个100000相加等于100000000,即16进制5F5E100,占用4个字节(最高位空闲,可用于符号位);假设PC机是32位的,整数占用4个字节;所以用int型变量不会导致溢出;【程...

C语言中怎么使输入的整形数据(比如学号1001)不为其他字符?即只能输入纯...
你可以先输入 ‘1’~‘9’ 即把ASKII码 定死 大于'1' 小于'9' 输入不再这么范围就重新输入 然后用atoi 函数把char 型的 '1'~'9' 转换为int 型

在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;...

C语言中如何输入被限定范围的整数(如绝对值小于100)
do{ printf("请输入一个绝对值<100的整数:");scanf("%d",&x);}while(abs(x)>=100);例如:int i = 0 while ( i < 10)scanf("%d",&m);if ( m != 0 || m!= 1) continue;else{ array[i] = m;i++;

C语言里如何控制输入多行,例如 输入数据有多行 第一行是数据N 下面是...
使用一个计数器,赋值为N,再在循环结构(for或者while或者do while)中调用scanf即可实现多行输入.或者是采用回调函数,实现自我调用,再使用N来控制调用次数,不过此方法有些变态.---珂昵贝儿

C语言用scanf让用户输入一个数据,数据只能是a到z大小写都可以和数字0...
include<stdio.h> void main(){ char d[19];int i;for(i=0; i<18; i++){ do{ scanf("%c", &d[i]);}while( !(d[i]>='a' && d[i]<='z' || d[i]>='A' && d[i]<='Z' || d[i]>='0' && d[i]<='9') );} d[i]='\\0';printf("%s\\n",d);} ...

C语言中如何表示数值的范围
在C语言中用到数值范围一般有如下两种情况:1 逻辑判断中确定某数在某个范围内。比如判断数c在[a,b]区间内可以写作 (a<=c)&& (c <= b)2 使计算结果处于某个范围内。比如计算时间时,当前时间为n点,经过m小时后是几点,由于时间仅取值在0点到23点,所以对数值范围需要做约束。对于此可以用...

相似回答