目录
实现语言:C
编译器:gcc
题目链接:
题目详情 - 7-4 统计字符[2] (pintia.cn)
题目:
2022-高级语言程序设计练习——分支结构程序设计
7-4 统计字符[2]
分数 15
作者 颜晖
单位 浙大城市学院
本题要求编写程序,输入N个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
输入格式:
输入在第一行中给出正整数N,第二行输入N个字符,最后一个回车表示输入结束,不算在内。
输出格式:
在一行内按照
letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。请注意,等号的左右各有一个空格,逗号后有一个空格。
输入样例:
10
aZ &
09 Az
输出样例:
letter = 4, blank = 3, digit = 2, other = 1
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
AC代码:
#include <stdio.h>
int main()
{
int N; // 输入N个字符
scanf("%d", &N); // 输入在第一行中给出正整数N
int letter = 0, blank = 0, digit = 0, other = 0; // 定义四个变量分别存放统计结果
getchar(); // 读入并舍弃换行符
for (int i = 0; i < N; i++) // 第二行输入N个字符,循环执行了 n 次
{
char c; // 字符类型为char,整数是int,定义一个字符变量c
scanf("%c", &c); // 从键盘输入一个字符,赋值给变量 c
if (c == ' ' || c == '\n') // 空格或回车个数,注意字符要用单引号括起来
{
blank++;
}
else if (((c >= 'a') && (c <= 'z')) || (c >= 'A') && (c <= 'Z')) // 英文字母
{
letter++;
}
else if (c >= '0' && c <= '9') // 数字字符个数,注意:0和9是整型而'0'和'9'才是字符
{
digit++;
}
else // 其他字符
{
other++;
}
}
printf("letter = %d, blank = %d, digit = %d, other = %d", letter, blank, digit, other);
return 0;
}