练习3-4 统计字符(15 分)
本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
输入格式:
输入为10个字符。最后一个回车表示输入结束,不算在内。
输出格式:
在一行内按照
letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。
输入样例:
aZ &
09 Az
输出样例:
letter = 4, blank = 3, digit = 2, other = 1
分析:因为题目要求是“输入10个字符”,类型已经确定都是完全一致的,所以可以设置一个大小为10的字符数组,遍历数组,用计数器分别统计个数
代码:
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
int main()
{
char a[10] = { '\0' };
int letter = 0;//英文字母个数
int blank = 0;//空格或回车个数
int digit = 0;//数字字符个数
int other = 0;//其他字符个数
for (int i = 0; i < 10; i++)
{
scanf("%c", &a[i]);
}
for (int i = 0; i < 10; i++)
{
if ((a[i] >= 'a'&&a[i] <= 'z') || (a[i] >= 'A'&&a[i] <= 'Z'))
{
letter++;
}
if (a[i] >= '0'&&a[i] <= '9')
{
digit++;
}
if (a[i] == ' ' || a[i] == '\n')
{
blank++;
}
}
other = 10 - letter - digit - blank;
printf("letter = %d, blank = %d, digit = %d, other = %d\n", letter, blank, digit, other);
system("pause");
return 0;
}
测试结果: