我爱橙 发表于 2022-4-29 13:30:01

EX5.29 字符类型判断

本帖最后由 我爱橙 于 2022-6-9 22:04 编辑

从键盘键入任意一个字符,判断该字符是英文字母(不区分大、小写)、数字字符还是其它字符。
若键入字母,则屏幕显示 It is an English character.;若键入数字则屏幕显示It is a digit character. ;若输入其它字符,则屏幕显示:It is other character.

程序的运行示例1:

Input simple:

b↙

It is an English character.

程序的运行示例2:

Input simple:

6↙

It is a digit character.

程序的运行示例3:

Input simple:

*↙

It is other character.

程序的运行示例4:

Input simple:

A↙

It is an English character.

输入格式:
输入提示:"Input simple:\n"

输入格式: "%c"

输出格式:
英文字符的输出格式:"It is an English character.\n"

数字的输出格式:"It is a digit character.\n"

其它字符的输出格式:"It is other character.\n"

输入样例:
在这里给出一组输入。例如:

A


#include <stdio.h>

int main()

{
int a;
char b;

printf("Input simple:\n");
scanf("%c");
if(b)
{
        printf("It is an English character.\n");
}

else if(a)
{
        printf("It is a digit character.\n");
}

else
{
        printf("It is other character.\n");
}

return 0;
}

为什么输入字母也是输出It is a digit character?




找了个答案后更正为:
#include <stdio.h>

int main()

{

char ch;

scanf("%c",&ch);

printf("Input simple:\n");


if (ch>='a'&&ch<='z'||ch>='A'&&ch<='Z')
   {
        printf("It is an English character.\n");
        }
else if (ch>='0'&&ch<='9')
{
        printf("It is a digit character.\n");
}
        else
{
       printf("It is other character.\n");

}
      

return 0;
}

但是为什么(ch>='0'&&ch<='9')就能表示所有的数字呢?
页: [1]
查看完整版本: EX5.29 字符类型判断