C语言中如何限制使用者只能输入数字1~9?求大神帮助

如题所述

第1个回答  2011-11-15
#include<stdio.h>
main()
{
int f;char s[2];//用一个字符数组稳当
do
{
printf("请输入1~9:");
scanf("%s",s);
if(s[0]<'1' || s[0]>'9')
f=0;
else f=1;
}while(!f);
printf("输入正确!\n\n");
}本回答被网友采纳
第2个回答  2011-11-14
int i=0;
int a=0;
if(i==1||i==2||i==3||i==4||i==5||i==6||i==7||i==8||i==9)
a=i;
else
printf("输入错误,重新输入\n");
第3个回答  2011-11-14
int a,b=0;
do
{
if (b==1)printf("输入错误\n");
printf("请输入a:");
scanf("%d",&a);
} while (a<0||a>9);

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

c语言 如何做到只能输入数字,输入其他的,比如字母。就会提示重新输入...
while(1) { printf("请输入一个整数 : ");gets(s);len = strlen(s);\/\/for(n = 0; s[n] == '0'; ++n);num = 0;\/\/每次输入前,要确保num=0 for(i = len-1; i >= 0; --i){ if((s[i] < '0') || (s[i] > '9')){ printf("输入错误,重新输入。\\n");bre...

C语言如何设置只能输入0到9的数字 不能输入字母
先接收输入的时字符串,再判断是否0-9的数字,如果不是则提示再输入 ~~~

C语言中如何设计一个程序你只能输入1-5,这5个数,输入其他的都提示输入错...
scanf后,对获取的变量简单判断一下就好了,if(x>5||x<1) printf("Input Error") ,再重新scanf一下就好了。

linux下写c语言,怎么实现只能输入数字
没办法让其他字符不能输入 但是可以在输入其他字符时报错 比如 int n;while(1){ if(scanf("%d",&n) != 1) { printf("invalid input \\n"); while(getchar()!='\\n');\/\/忽略输入错误的字符。 } else break;} ...

C语言 只能输入数字问题
printf("a=%g\\n",a); \/\/输出读取的数字 free(s); \/\/释放s指向的空间 system("pause"); \/\/屏幕暂停,以便观察结果 return 0;} char * read(void) \/\/动态读取字符串。{ char c,*a ;int i=1;c=getchar();a=malloc(1);a=c;while((c=getchar())!='\\n'){ a=r...

关一个于C语言数字格式的问题,求大神帮助我
scanf("%f,%f",&i,&j);格式是%d

C语言中的if语句,不会改,求大神帮助!!!
include <stdio.h> int main(){ int num, n;printf("请输入一个不大于5位的正整数!\\n");scanf("%d", &num);if (num <= 9)n = 1;else if (num <= 99)n = 2;else if (num <= 999)n = 3;else if (num <= 9999)n = 4;else if (num <= 99999)n = 5;if (num >...

DELPHI 中如何让edit1.text只能输入数字和字母
你可以通过Edit1控件的KeyPress事件来进行控制。KeyPress中有个参数Key,当键盘输入时。你可以对Key进行判断,下面是一个只接收0-9,小数点和退格、回车、ESC的例子:If not (Key in ['0'..'9','.',#27,#13,#8]) then Key:=#0 Else Key:=SendKey;end;...

C语言,只能输入12个数字,输入其他字符不显示,应该怎样做?
。。include <stdio.h> int main(){ int i;char buf[12];fgets(buf, 12, stdin); \/\/ 只获取前十二个字符 for (i = 0; i < 12; ++i) { \/\/ 如果是数字 0 ~ 9 则显示出来 if (buf[i] >= '0' && buf[i] <= '9')putch(buf[i]);} return 0;} ...

相似回答