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;
}

你直接将每个字符挨个提取出来,将他赋给一个整型,c会自动将该字符转化为asc码值的。然后根据整型在去判断它到底是数字还是字符还是空格,空格有特定的asc码值

  1. 凡是数字皆为字符。任何数字首先是字符,然后才能是数字。所以这个问题应该是如何在字符中识别数字。

  2. 直接将每个字符挨个提取出来,将他赋给一个整型,得到它的ASCII码值。然后根据ASCII码的范围来判断它到底是数字字符还是非数字字符。由下表可以得知,数字范围在48~57的都是数字字符。

  3. 用isdigit()函数判断字符串是否为数字。

    isdigit()函数包含在ctype.h头文件中,
    原型: int isdigit(char c);   
    用法:#include <ctype.h>   
    功能:判断字符c是否为数字   
    说明:当c为数字0-9时,返回非零值,否则返回零。

  4. 下面使用isdigit()实现一个判断字符串是否为数字的代码。
    这个函数是判断某一个字符是否为数字,可以用一个字符数组接受输入的字符,然后循环判断每一个字符是否为数字,如果其中一个不是数字,那么返回0,否则返回非0;包含了判断小数点的个数和负数符号-。

    #include<stdio.h>
    #include<ctype.h>
    void main()
    {
        char a[10];
        int i,j,flag=0;    /*flag标记小数点个数,如果超过一个,那么就不是数字*/
        printf("input a number:
    ");
        scanf("%s",a);
        for(i=0;a[i]!=0;i++)
            {
            if(i==0&&(a[i]=='+'||a[i]=='-'))
                {
                i++;
                continue;
                }             /*如果第一个字符为+或-,不判断为非数字,可能是符号标志,继续向下判断*/
            if(a[i]=='.')
                {
                flag++;
                if(flag>1)   /*如果小数点个数超过一个,则表示不是数字*/
                    {
                    break;
                    }
                else if(flag==1) /*如果小数点个数为1个,则可能为小数,继续判断*/
                    {
                     continue;
                    }
                }
            j=isdigit(a[i]);
            if(j==0)
                {
                break;
                }
            }
        if(j!=0)
            printf("%s yes",a);
        else
            printf("%s no",a);
        getch();
    }


你直接将每个字符挨个提取出来,将他赋给一个整型,c会自动将该字符转化为asc码值的。然后根据整型在去判断它到底是数字还是字符还是空格,空格有特定的asc码值


C语言程序中,如何区分字符是数字还是字母?
char ch;ch=getchar();if(ch>='0'&&ch<='9')printf("数字");if(ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')printf("字母");2.include <stdio.h>int main(){char char1 = 184;char char2 = 246;printf("Print1:\\n");printf("%c",char1);printf("\\n");printf("%c", ...

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语言编程中如何判断一个字符是不是某个汉字,比如“我”。
一个汉字是两个字符,因此需要使用字符串来判断。

在C语言中,怎样读取文本文档的一个中文的字符串?
就当一般的字符串一个字一个字地读,读到逗号为止。跟自己实现fgets()函数差不多。enum { SIZE = 1024 };char str[SIZE]; \/* 声明一个字符数组 *\/ \/* 下面读到逗号或数组最大值时停止 *\/ for (i = 0; i < SIZE - 1 && (c = getchar() ) != ','; ++i)str[i] = c;str...

c语言如何判断输入的是数字还是字符
需要准备的材料分别有:电脑、C语言编译器。1、首先,打开C语言编译器,新建一个初始的.cpp文件,例如:test.cpp。2、其次,在test.cpp文件中,输入C语言代码:char a = getchar(); getchar();if (a <= '9' && a >= '0') printf("数字");else printf("字母");3、然后,编译器运行...

C语言中的字符表示什么?
在c语言中字符主要有两类 1、就是普通字符。字符包含普通字符和转义字符,需要用‘’(两个单引号)包含。例如 'a' 是普通字符;'\\n'是转义字符。2、转义字符是C语言中表示字符的一种特殊形式。通常使用转义字符表示ASCII码字符集中不可打印的控制字符和特定功能的字符,如用于表示字符常量的单撇号...

用C语言编程:判断输入的一个字符是否为英文字母
例如:include<stdio.h> int main(){ char c ;while(scanf("%c",&c)!=EOF){ getchar();if(c >='0' && c<='9')printf("%c是数字\\n",c);else if(c >='a' && c<='z' || c >='A' && c<='Z')printf("%c是字母\\n",c);else printf("%c是特殊du字符\\n",c)...

gets和getchar的区别
首先,gets和getchar都是C语言中用来读取字符的函数,但它们在使用方式和功能上有一些不同。 gets()函数:这个函数可以从标准输入(通常是键盘)读取一串字符,直到遇到换行符(Enter键)为止。换行符是输入结束的标志。读取的字符被存储在字符串中,字符串以空字符('\\0')结尾。 例如,如果你输入“Hello World”,gets()...

C语言:如何判断一个字符数组里输入的是字母还是数字还是汉字还是特殊字 ...
ASCII码占用一个字节,汉字占用两个字节,并且汉字的两个字节的最高位都是1,而ASCII码的最高位都是0,可以据此判断

如何在c语言的中文字符串中判断是否存在特定的汉字
include<stdio.h>#include<string.h>int main(){char s[200],s1[3]; int i; printf("请输入一串汉字:"); scanf("%s",s); printf("请输入要查找的一个汉字:"); scanf("%s",s1); for(i=0;i<strlen(s);i+=2) if(s[i]==s1[0]&&s[i+1]==s1[1]) {printf("您输...

津南区15567537403: C语言 如何判断输入的是数字还是字符 -
源科万苏: 你这个程序与“输入的是字符还是数字”没有关系. 关键是不能用double类型的r与0直接这样进行比较:r!=0应该像下面这样写: const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x <= EPSINON) 不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式.

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

津南区15567537403: C语言判断数字和字符 -
源科万苏: 没这么智能,只能自己判断,而且如果scanf("%d",&n);不能读入字符'X'. 如果想实现你描述的功能,必须把所有的输入都当做符号输入,也就是说scanf("%c",&n);然后判断n的ASCII码来区别处理.这个必须要你自己去实现.而且这...

津南区15567537403: 我是一个自学新手,我想问下在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“);

津南区15567537403: C语言如何判断输入的是数字还是字符? -
源科万苏: 可以利用getchar函数的返回值和输入字符的ASIIC码值来比较,数字的ASIIC码有一个范围,范围之外就是字符

津南区15567537403: C语言怎么判断输入的是数字还是字符 -
源科万苏: 你是知道自己想要输入的是字符还是数字,对吧? 如果是这样,你就加一个标志符,用来判断输入的东西是不是你要的. int flag; flag = scanf("%d",&n); if(flag==1)printf("right\n"); elseprintf("wrong\n"); flag = scanf("%d",&n); //送返成功读入的数据个数.输入字母,flag为0

津南区15567537403: C语言中如何识别字符与数字 -
源科万苏: 你这样看看就知道了 int i; for(i=0;i{ printf("%3d %c ",i,i); if((i+1)%10==0) printf("\n"); } 你运行这个程序看看,就知道了

津南区15567537403: C语言中,输入一个字符串,如何区分数字字符, -
源科万苏: 通过判断输入字符的ascii码的范围 就可以 如果大于等于48 小于等于57 就是输入的阿拉伯数字. 如果输入的字符 大于等于65小于等于90 就是大写的英文字母 如果输入字符 大于等于97 小于等于122 就是小写的英文字母 具体参考一下ascii表

津南区15567537403: 如何编写C语言程序判断一个字符是否是字母或数字 -
源科万苏: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28#includeintmain(void) {intd = 0; //大写个数intx = 0; //小写个数ints = 0; //数字个数chararr[] = {'中', 'a', 'b', 'c', 'A', 'B', 'C', '0', '1', 'd', '国', 'z'};intlen = sizeof(arr) ...

津南区15567537403: 在C语言中,系统是如何分辨字母,数字和特殊符号的? -
源科万苏: 字母:char c;if(c>='a'&&c<='z') 数字:char c;if(c>='0'&&c<='9') 或者使用C语言的函数库调用ctype.h头文件里面的函数.

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