合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻
一、题目描述 ⭐️
练习3-4 统计字符
本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。
输入格式:
输入为10个字符。最后一个回车表示输入结束,不算在内。
输出格式:
在一行内按照
letter = 英文字母个数, blank = 空格或回车个数, digit = 数字字符个数, other = 其他字符个数
的格式输出。
输入样例:
aZ &
09 Az
输出样例:
letter = 4, blank = 3, digit = 2, other = 1
二、代码(C语言)⭐️
#include <stdio.h> // 包含标准输入输出库,用于使用scanf和printf等函数int main() {char strArr[12]; // 定义一个字符数组strArr,大小为12,用于存储输入的字符// 使用for循环从用户输入中读取10个字符,并存储到strArr数组中for(int i = 0; i < 10; i++) {scanf("%c", &strArr[i]); // 从标准输入读取一个字符,并存储到strArr[i]中}// 定义四个整数变量n1, n2, n3, n4,用于统计不同类型的字符数量int n1 = 0, n2 = 0, n3 = 0, n4 = 0;// 使用for循环遍历strArr数组中的前10个字符for(int i = 0; i < 10; i++) {// 判断当前字符是否为字母(包括大小写)if((strArr[i] >= 'a' && strArr[i] <= 'z') || (strArr[i] >= 'A' && strArr[i] <= 'Z')) {n1++; // 如果是字母,n1加1} // 判断当前字符是否为空格或换行符else if(strArr[i] == ' ' || strArr[i] == '\n') {n2++; // 如果是空格或换行符,n2加1} // 判断当前字符是否为数字else if(strArr[i] >= '0' && strArr[i] <= '9') {n3++; // 如果是数字,n3加1} // 如果当前字符不是字母、空格、换行符或数字,则归类为其他字符else {n4++; // 如果是其他字符,n4加1}}// 输出统计结果:字母数量、空格/换行符数量、数字数量、其他字符数量printf("letter = %d, blank = %d, digit = %d, other = %d", n1, n2, n3, n4);return 0; // 程序正常结束,返回0
}