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;} \/ \/
弓钩脑复: 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的意思我暂时理解为 如果输入的不是数字 ...