合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻
一、题目描述 ⭐️
二、代码(C语言)⭐️
#include <stdio.h>
#define MAXS 15
void StringCount( char *s );
void ReadString( char *s ); /* 由裁判实现,略去不表 */
int main()
{
char s[MAXS];
ReadString(s);
StringCount(s);
return 0;
}
/* Your function will be put here */
void StringCount(char *s) {
// 定义一个数组 count,用于存储各类字符的计数:
// count[0]: 大写字母数量
// count[1]: 小写字母数量
// count[2]: 空格数量
// count[3]: 数字数量
// count[4]: 其他字符数量
int count[5] = {0}; // 初始化数组,所有元素为 0
// 计算字符串 s 的长度,存储在变量 len 中
int len = strlen(s);
// 遍历字符串中的每个字符
for (int i = 0; i < len; i++) {
// 判断当前字符的类型并更新对应的计数器
if (s[i] >= 'A' && s[i] <= 'Z') { // 如果字符是大写字母
count[0]++; // 大写字母计数器加 1
} else if (s[i] >= 'a' && s[i] <= 'z') { // 如果字符是小写字母
count[1]++; // 小写字母计数器加 1
} else if (s[i] == ' ') { // 如果字符是空格
count[2]++; // 空格计数器加 1
} else if (s[i] >= '0' && s[i] <= '9') { // 如果字符是数字
count[3]++; // 数字计数器加 1
} else { // 如果字符是其他字符
count[4]++; // 其他字符计数器加 1
}
}
// 打印统计结果,依次输出:
// 大写字母数量、小写字母数量、空格数量、数字数量、其他字符数量
printf("%d %d %d %d %d\n", count[0], count[1], count[2], count[3], count[4]);
}