c语言判断输入的是否是数字(不止一位)

作者&投稿:鲁畏 (若有异议请与网页底部的电邮联系)
c语言中如何判断输入的是字符还是数字~

可以使用代码进行判断:

#include

intmain()

{

charc;

while(scanf("%c",&c)!=EOF)

{

getchar();

if(c>='0'&&c<='9')

printf("%c是数字
",c);

elseif(c>='a'&&c='A'&&c<='Z')

printf("%c是字母
",c);

elseprintf("%c是特殊字符
",c);

}

return0;

}

扩展资料
C语言判断输入是否是数字

intdigit;
printf("pleaseinputainteger
");
intret=scanf("%d",&digit);
if(0==ret)
{
printf("youshouldinputainteger
");
system("pause");
return0;
}

#include
void main()
{
unsigned short int y;
printf("请输入1~3000年的任意一年:");
while(scanf("%u",&y)==1){

scanf("%u",&y);
if (y3000)printf("
输入年份错误!

");
else{
if ((y%4==0&&y%100!=0)||(y%100==0&&y%400==0))printf("
%u年是闰年!

",y);
else printf("
%u年不是闰年!

",y);
}
printf("请输入1~3000年的任意一年:");
}
}

#include<stdio.h>

intmain()

{

charc;

c=getchar();

//来判断是否为数字,如果是数字那么会返回非0

if(is digit(c)!=0)

printf("是数字
");

//来判断是否为字母,如果是字母那么返回非0

elseif (is alpha(c)!=0)

printf("是字母
");

else

printf("是特殊字符
");

}

扩展资料

输入一个字符判断其是字母字符还是数字字符

#include<stdio.h>

int  main()

{

char ch;

printf("Input ch:");

ch=getchar();

if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))//判断是不是字母

printf("字母
");

else if(ch>='0'&&ch<='9')//判断是不是数字

printf("数字
");

else

printf("其他
");

return 0;

}



写出一个宏定义,用于判断输入的一个字符是否是数字,若是得1,否则得0。

代码如下:

#include <stdio.h>

#define P(x) x>‘0’&&x<‘9’? 1:0

void main(){

char ch;

printf(“请输入一个字符:
”);

scanf("%c",&ch);

printf("%d
",P(ch));

}

扩展资料

宏定义的优点:

方便程序的修改

使用简单宏定义可用宏代替一个在程序中经常使用的常量,这样在将该常量改变时,不用对整个程序进行修改,只修改宏定义的字符串即可,而且当常量比较长时, 我们可以用较短的有意义的标识符来写程序,这样更方便一些。

相对于==全局变量==两者的区别如下:

1、宏定义在编译期间即会使用并替换,而全局变量要到运行时才可以。

2、宏定义的只是一段字符,在编译的时候被替换到引用的位置。在运行中是没有宏定义的概念的。而变量在运行时要为其分配内存。

3、宏定义不可以被赋值,即其值一旦定义不可修改,而变量在运行过程中可以被修改。

4、宏定义只有在定义所在文件,或引用所在文件的其它文件中使用。 而全局变量可以在工程所有文件中使用,只要再使用前加一个声明就可以了。换句话说,宏定义不需要extern。



1、使用 if(scanf("%d",&h)!=1) 来判断
printf("it's not a number!
");
因为scanf是从缓存中读取输入的数据如果输入的不是数字,就会返回0,如果是数字就会返回1;一般人不知道scanf还有返回值,就可以看看头文件中scanf的定义了。
2、例程:

#include <stdio.h>
int main()
{
int h;
while(!scanf("%d",&h))
{
fflush(stdin);
printf("
输入错误,请重新输入:
");
}
}

//其中fflush(stdin)是清理缓存,就像我上面说的scanf是从缓存取数的,



不能这么做的,你输入了不是数字的东西,输入就已经错误了.
应该用字符串判断
#include <stdio.h>
bool ok(char s[])
{
int i;
for(i=0;s[i];i++)
{
if(s[i]>='0'&&s[i]<='9')//是数字,继续判断
continue;
else return false;//不是数字,就返回假
}
return true;//都是是数字返回真
}
int getVal(char s[])
{
int ret=0,i;
for(i=0;s[i];i++)
{
ret=ret*10+s[i]-'0';
}
return ret;
}
void main()
{
int i ;
int a[10] ;
int r ;
char s[100];
for(i = 0 ; i < 10 ; )
{
scanf("%s", s) ;
if(ok(s))
{
a[i]=getVal(s);//获得S的值
i++ ;
}
else
printf("input error!please input again!\n") ;
}

for(i = 0 ; i < 10 ; i++)
printf("%d\n",a[i]) ;
}

#include <stdio.h>
void main()
{
int i ;
int a[10] ;
int r ;

for(i = 0 ; i < 10 ; )
{
r = scanf("%d", &a[i]) ;
if(r==1)
i++ ;
else
{
printf("input error!please input again!\n") ;
flushall(); //加上这行试试!加上这行试试!加上这行试试!
}
}

for(i = 0 ; i < 10 ; i++)
printf("%d\n",a[i]) ;
}


c语言如何判断输入的一个数是否是5的倍数?
C语言编程判断输入的一个数是否是5的倍数,编写方法如下图:C语言的主要特点:简洁紧凑、灵活方便。C语言一共只有40个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基...

C语言怎么用if判断一个输入数是不是整数
1、```这段代码中,我们使用if语句来判断输入的数是否为正整数。条件表达式“num0&&num%1==0”表示num大于0并且num除以1的余数为0,即num是正整数。2、floatx;inty;scnaf(%f,&x);y=x;if(y==x)printf(%d是整数。\\n,(int)x);elseprintf(%f不是整数。3、floatx;inty;scnaf(%f,&...

C语言判断输入是否符合要求
s); r = check_integer(s); if (r > 0) return r; }}int main(){ printf("%d\\n", input_integer());return 0;}

c语言 如何判断输入的是数字还是字母
1、首先,打开C语言编译器,新建一个初始的.cpp文件,例如:test.cpp。2、其次,在test.cpp文件中,输入C语言代码:char a = getchar(); getchar();if (a <= '9' && a >= '0') printf("数字");else printf("字母");3、然后,编译器运行test.cpp文件,输入数字,此时会成功判断输入内...

C语言用函数判断输入的是否是数字,如果是进行运算,如果不是输出输入错...
scanf函数的返回值是输入数据与格式匹配的数量,所以可以利用scanf的返回值来判断输入是否正确:include <stdio.h> float add(float x, float y){return x + y;}float minus(float x, float y){return x - y;}float multiply(float x, float y){return x*y;}float division(float x, float...

c语言中如何判断输入的是字符还是数字
可以使用代码进行判断:include<stdio.h> intmain(){ charc;while(scanf("%c",&c)!=EOF){ getchar();if(c>='0'&&c<='9')printf("%c是数字\\n",c);elseif(c>='a'&&c<='z'||c>='A'&&c<='Z')printf("%c是字母\\n",c);elseprintf("%c是特殊字符\\n",c);} return0;}...

c语言中 要判断一个输入的元素是否合法
scanf("%s",str)输入一个字符串代替输入整数。然后检查字符串里的字符是否都是数字字符,符合条件的话再用函数atoi把字符串转化为整数

C语言:如何判断输入的是数字还是其他字符
1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字。2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字。至于怎么判读是字母还是数字,很简单,假设字符c,满足 (c>='a'&& c<='z')|| (c>=...

用汇编语言编写,判断键盘输入的是否是Y 若输入的是Y则显示YES Y若不...
int 21h and al,11011111b;如果输入的是小写字母,转换成大写 cmp al,'Y'jz yy lea dx,noty jmp disp yy: lea dx,yesy disp: mov ah,9 int 21h mov ax,4c00h int 21h code ends end start ...

用C语言写一个小程序,判断输入的汉字是否正确,如里输入的是数字 大小...
include<stdio.h> include<string.h> include<string.h> include<stdio.h> int main(){ char s[100];while(true){ gets(s);if(strcmp(s,"小刘好")==0)break;} puts("你的信息以确认");return 0;} \/ \/

江汉区17346028647: c语言判断输入的是否是数字(不止一位) -
弓钩脑复: 1、使用 if(scanf("%d",&h)!=1) 来判断 printf("it's not a number!\n"); 因为scanf是从缓存中读取输入的数据如果输入的不是数字,就会返回0,如果是数字就会返回1;一般人不知道scanf还有返回值,就可以看看头文件中scanf的定义了.2、例程:#include int main() { int h; while(!scanf("%d",&h)) { fflush(stdin); printf("\n输入错误,请重新输入:\n"); } }//其中fflush(stdin)是清理缓存,就像我上面说的scanf是从缓存取数的,

江汉区17346028647: c语言编程如何区分输入的是数字 -
弓钩脑复: 可以这样.1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16#include <stdio.h> intmain(void) {charch;while(1){ch=getchar();if(ch>'0'&& ch <'9'){getchar();printf("next\n");}elsebreak;}return0; 如果你要求输入一个字符串,然后判断是不是...

江汉区17346028647: C语言:如何判断输入的是数字还是其他字符 -
弓钩脑复: 有很多方法: 1、可以用sacnf或gets函数直接接收输入的字符串,然后用循环遍历字符串中每一个字符,判断其是字母还是数字. 2、可以用循环调用getch()或getchar()函数来一个一个字符的接收输入,同时判读输入的是字母还是数字. 至于怎么判读是字母还是数字,很简单,假设字符c, 满足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母. 满足 (c>=0 && c<=9)就是数字.

江汉区17346028647: 我是一个自学新手,我想问下在C语言里面怎么判定输入的是字符还是数字? -
弓钩脑复: 可以if语句判断.例如判断是不是数字,可以用下面这条if语句判断 if('0'<=ch && ch<='9') printf("ch is digit\n"); 此外,提醒一下,数字也是字符.你说的是判断是字母还是数字吧?如果想判断是不是字母,这么判断: if(('a'<=ch && ch<='z') || ('A'<=ch && ch<='Z'))printf("ch is alphabet“);

江汉区17346028647: c语言如何验证输入的是字母还是数字 -
弓钩脑复: //输入非数字以及不符合条件时重新输入. #include <stdio.h> #include <math.h>void main(void) { long a,b,c,h,l,x1,x2;int i,j,k; while(1){printf("Please input data a:\n");i=scanf("%d",&a);if(i==0)getchar();while(i==1){printf("Please ...

江汉区17346028647: C语言中如何判断输入是否是数字(并非0到9) -
弓钩脑复: 这个程序不难写,我告诉你思路和算法,你根据这个编写代码就可以了.1.由于你输入的这一串数据可能都为数字,也可能包含其它字符,所以首先用一字符数组存放这个字符串.2.用strlen函数计算这个字符串的长度,在此基础上借助for循环或while循环实现数组元素的遍历.3.遍历每一个元素的同时用if语句判断这个元素的ASCII码所在的范围是否在48~57之间,如果不在则中止循环,输出判断结果(即不是数字).4.如果最后一个元素仍然是数字,则整个字符串则为一个大数.

江汉区17346028647: C语言如何判断输入的字符串中是否含有数字 -
弓钩脑复: C语言只有扫描了,例如:char s[]="判断有没有数字123"; char *p; int have=0; p=s; while(*p && ! have){ if (*p>='0' && *p<='9') have=1; p++; } puts(have?"有数字":"没数字");

江汉区17346028647: 请问C语言输入一次输入两个字符怎样判断是不是数字 -
弓钩脑复: if(scanf("%d",&h)!=1) printf("it's not a number!\n"); 因为scanf是从缓存中读取输入的数据如果你输入的不是数字,就会返回0,如果是数字就会返回1; 一般人不知道scanf还有返回值,就可以看看头文件中scanf的定义了. 其实我还有一...

江汉区17346028647: C语言中怎么写判断输入是一个数,而不是字符等 -
弓钩脑复: 就当做字符输入 scanf("%c",&ch); if(ch>='0'&& ch<='9') { printf("输入的是数字,值是%d\n",ch-'0'); } else if(ch>='a'&& ch<='z') {printf("输入的是小写字母); } else if(ch>='A'&& ch<='Z') {printf("输入的是大写字母); }

江汉区17346028647: c语言判断输入是否为数字 -
弓钩脑复: 你写的这个有太多的错误.至于定义数组的时候a[N]这种错误我就不讲了 还有在循环里面(i=1;i<N;i++) N没赋值就调用的错误我也不讲了 讲你的死循环问题 你没有给循环加一个限制条件 根据你continue的意思我暂时理解为 如果输入的不是数字 ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网