编程实现,输入一个正整数n,再输入n行字符串,分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。

编程实现,输入一个正整数n,再输入n行字符串,分别统计其中大写英文字母、小写英文字母、数字、空格和其他字符的个数。

void mode2(){
	int n;
	cout<<"输入n:\n";
	cin>>n;
	string strs[n];
	cout<<"字符数组输入:\n";
	for(int i=0; i<n; i++){
		getchar();
		getline(cin,strs[i]);
	}
	for(int i=0; i<n; i++){
		//判断每行字符串 
		int da = 0, xiao = 0, shu = 0, kong = 0, qi = 0;
//		cout<<"---------"<<strs[i].length()<<"--------\n";
		for(int j=0; j<strs[i].length(); j++){
			if(strs[i][j] >= 'A' && strs[i][j] <= 'Z'){
				da++; continue;
			}
			if(strs[i][j] >= 'a' && strs[i][j] <= 'z'){
				xiao++; continue;
			}
			if(strs[i][j] >= '0' && strs[i][j] <= '9'){
				shu++; continue;
			}
			if(strs[i][j] == ' '){
				kong++; continue;
			}
			qi++;
		}
		cout<<"第"<<i+1<<"行:"<<strs[i]<<endl;
		cout<<"大写字母:"<<da<<" 小写字母:"<<xiao<<" 数字:"<<shu<<" 空格:"<<kong<<" 其它:"<<qi<<endl;
	}
	
}

在这里插入图片描述

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 题目描述: 输入一个正整数n,再输入n个字符统计其中英文字母空格或回车、数字字符和其他字符个数。 解题思路: 遍历输入的n个字符,对每个字符判断,如果是英文字母空格或回车、数字字符或其他字符,就分别对应计数器加1。 代码实现: n = int(input()) letter_count = space_count = digit_count = other_count = for i in range(n): c = input() if c.isalpha(): letter_count += 1 elif c.isspace(): space_count += 1 elif c.isdigit(): digit_count += 1 else: other_count += 1 print("字母个数:", letter_count) print("空格或回车个数:", space_count) print("数字个数:", digit_count) print("其他字符个数:", other_count) 运结果: 输入: 10 a b 1 2 3 4 5 6 7 8 输出: 字母个数: 2 空格或回车个数数字个数: 8 其他字符个数输入: 20 Hello World! 12345 !@#$% 输出: 字母个数: 10 空格或回车个数: 2 数字个数: 5 其他字符个数: 3 ### 回答2: 此题涉及到字符的分类与统计,可以使用计数器对每个类别的字符计数,最终输出答案。 首先,读入一个正整数n,用于表示接下来输入字符数量。接着,用一个循环读入n个字符,对每个字符分类计数。我们可以将字符分为四类:英文字母空格或回车、数字字符和其他字符。 对于英文字母,可以使用isalpha()函数判断一个字符是否为字母。如果是,则将计数器alpha_count加1。 对于空格或回车,可以使用isspace()函数判断一个字符是否为空格或回车。如果是,则将计数器space_count加1。 对于数字字符,可以使用isdigit()函数判断一个字符是否为数字。如果是,则将计数器digit_count加1。 对于其他字符,也可以通过以上三种判断都失败来确定。如果是,则将计数器other_count加1。 最终输出四种字符个数即可。 以下是思路的示例代码: ```python n = int(input("请输入字符数量:")) alpha_count = 0 space_count = 0 digit_count = 0 other_count = 0 for i in range(n): char = input() if char.isalpha(): alpha_count += 1 elif char.isspace(): space_count += 1 elif char.isdigit(): digit_count += 1 else: other_count += 1 print("英文字母数量:", alpha_count) print("空格或回车数量:", space_count) print("数字数量:", digit_count) print("其他字符数量:", other_count) ``` 输入示例: ``` 请输入字符数量:15 a B 1 2 3 4 5 6 7 8 9 0 (其中包括两个Tab键,会被当做空格计数) \n ``` 输出示例: ``` 英文字母数量: 2 空格或回车数量: 3 数字数量: 10 其他字符数量: 0 ``` 由此可见输入的15个字符中,两个英文字母、三个空格或回车、十个数字,没有其他字符。 ### 回答3: 首先,我们需要了解如何通过 ASCII 码来确定一个字符的种类: - 英文字母:ASCII 码中,65 到 90 是大写字母 A 到 Z,97 到 122 是小写字母 a 到 z。 - 空格或回车:ASCII 码中,32 是空格符,10 是换符。 - 数字字符:ASCII 码中,48 到 57 是数字字符 0 到 9。 - 其他字符:不属于以上三种字符的都是其他字符。 有了这些基础知识,我们可以写出一个程序来统计字符的种类。 首先,读取输入正整数 n,并循环输入 n 个字符。在输入的同时,我们可以判断每个字符的种类并累加计数器。最后输出计数器的值即可。 以下是 Python 代码示例: ```python n = int(input()) num_alpha = num_space = num_digit = num_other = 0 for i in range(n): s = input().strip() for c in s: if (c >= 'a' and c <= 'z') or (c >= 'A' and c <= 'Z'): num_alpha += 1 elif c == ' ' or c == '\n': num_space += 1 elif c >= '0' and c <= '9': num_digit += 1 else: num_other += 1 print("字母数量:", num_alpha) print("空格或回车数量:", num_space) print("数字字符数量:", num_digit) print("其他字符数量:", num_other) ``` 需要注意的是,以上代码仅适用于 ASCII 码中的字符。如果需要读取 Unicode 编码字符统计,需要使用相应的函数和库,如 Python 中的 `unicodedata` 模块。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WGS.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值