题目:输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
代码:
#include<stdio.h>
int main()
{
char ch=0;
int letter=0;
int num = 0;
int space = 0;
int character = 0;
while ((ch = getchar())!= '\n')
{
if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
{
letter++;
}
else if (ch >= '0' && ch <= '9')
{
num++;
}
else if (ch == ' ')
{
space++;
}
else
character++;
}
printf("letter=%d num=%d space=%d character=%d\n", letter, num, space, character);
return 0;
}
输入:abc12 \
输出结果为:
letter=3 num=2 space=1 character=1
请按任意键继续..
getchar函数
从键盘缓存区读取数据,一次只读取一个字符,第一次使用getchar函数时,若键盘缓存区没 有内容,需要用户手动输入字符。若用户一次输入了多个字符,则后续getchar函数会自动读 取,直至缓存区内没有数据为止。
putchar函数的基本格式为:putchar(c)。
(1)当c为一个被单引号(英文状态下)引起来的字符时,输出该字符(注:该字符也可为转义字符);
(2)当c为一个介于0~127(包括0及127)之间的十进制整型数时,它会被视为对应字符的ASCII代码,输出该ASCII代码对应的字符;
(3)当c为一个事先用char定义好的字符型变量时,输出该变量所指向的字符。
putchar与printf的区别
putchar一次只能输出一个字符,换行可以用putchar(‘\n’)表示
printf可以输出任何类型的数据,且可以一次输出多个数据