百韵网 >>  正文

c语言判断输入的是否是数字(不止一位) c语言中如何判断输入的是字符还是数字

来源:www.baiyundou.net   日期:较早时间

#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语言中如何判断输入的是字符还是数字~

可以使用代码进行判断:

#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年的任意一年:");
}
}

相关要点总结:

19137056857:c语言里 输入时 怎么判断是字符还是数字?
父芸答:需要准备的材料分别有:电脑、C语言编译器。1、首先,打开C语言编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:char a;scanf("%c", &a);if (a < '0' || a > '9') {printf("输入错误\n");} 3、编译器运行test.cpp文件,此时成功判断了输入的...

19137056857:在C语言中怎样判断输入的是否为数字字符
父芸答:char型的话可以与 ‘0' 到 ‘9’比 如 char a;if(a>'0'&&a<'9')int型可比较ascii码,具体 int a;if(a>(int)'0'&&a<(int)'9')其实强制转换不一定需要,,呵呵

19137056857: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文件,输入数字,此时会成功判断输入...

19137056857:c++判断输入的是否为数字?
父芸答:可以参考下面的代码:include<iostream> using namespace std;int main(){ double num;if(cin>>num)cout<<"Input correct!"<<endl;else cout<<"Input erroe!"<<endl;return 0;}

19137056857:c语言中,如何判断输入的是否为一个数字,这个数字是由scanf输入的,数字大...
父芸答:首先,你scanf的方法就错了,因为如果输入不是数字的话,scanf("%d",&n);会读入乱码的。应该这样:include<stdio.h> include<string.h> int main(){ char str[1000];scanf("%s",str);bool shishuzi=true;for(int i=0;i<strlen(str);i++)if(str[i]<'0' || str[i]>'9'){ printf...

19137056857: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文件,输入数字,此时会成功判断输入...

19137056857:c语言中判断字符串中是否全是数字?
父芸答:include <stdio.h>int main(void){char a[80];int i,f=1;gets(a);for(i=0;a[i];i++){if(!(a[i]>='0'&&a[i]<='9')){f=0;break;}}if(f)printf("yes");elseprintf("no");return 0;}

19137056857: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,&...

19137056857:c语言如何检验一个字符串是否为数字构成,字符串长度已经定好是四位
父芸答://判断条件isdigit(s[0])排除首字母非数字(为空白字符)的可能 //判断条件sscanf(s, "%d%c") == 1确定由字符串开始处能读入一个整型值(即字符串前段为数字),且读入一个整型后已遍历整个字符串(因为%c)尝试读入字符失败。} else { //字符串不符合条件 } 注意需要添加对ctype.h的引用。

19137056857:c语言 输入一个字符,判断是字母,数字,还是特殊字符?
父芸答:根据ascii码值判断即可。由于数字,大小写字母均分别为连续存储,所以只需要与对应的最大最小值比较即可确定字符类型。代码如下:include <stdio.h>int main(){char c;c = getchar();//读取一个字符。if(c >='0' && c<='9')printf("是数字\n");else if(c >='a' && c<='z' ||...

(编辑:本站网友)
相关推荐
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图
@ 百韵网