统计字符串中大写字母、小写字母、空格、数字以及其他字符的个数

题目要求:编写函数void count(char *str,int *a),统计字符串str中大写字母、小写字母、空格、数字以及其他字符的个数,统计的结果保存到数组a中,在main函数中调用该函数。


  • 如果 str[i] 是大写字母,那么 str[i] 为A~Z
  • 如果 str[i] 是小写字母,那么 str[i] 为a~z
  • 如果 str[i] 是空格,那么 str[i] = ' '
  • 如果 str[i] 是数字,那么 str[i] 为0~9

#include <stdio.h>
#include <string.h>
void count(char str[], int a[]) {
	int caps = 0, little = 0, space = 0, num = 0, other = 0;
	for (int i = 0; i < strlen(str); i++) { //统计个数
		if (str[i] >= '0' && str[i] <= '9') {
			num++;               //数字个数
		}
		else if (str[i] == ' ') {
			space++;            //空格个数
		}
		else if (str[i] >= 'A' && str[i] <= 'Z') {
			caps++;            //大写字母个数
		}
		else if (str[i] >= 'a' && str[i] <= 'z') {
			little++;         //小写字母个数
		}
		else {
			other++;         //其他
		}
	}
	a[0] = caps;
	a[1] = little;
	a[2] = space;
	a[3] = num;
	a[4] = other;
}
int main() {
	char str[1024];
	int a[10];
	printf("请输入字符串:\n");
	gets(str);
	count(str, a);
	printf("该字符串中:\n大写字母%d个\n小写字母%d个\n空格%d个\n数字%d个\n其他字符%d个", a[0], a[1], a[2], a[3], a[4]);
	return 0;
}

测试结果:

 


 

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 可以使用Python的字符串处理函来编写该函。首先可以使用len()函统计字符串的长度。然后使用Python内置的isupper()和islower()函来判断每个字符是大写还是小写字母,进而统计大写和小写字母量。最后返回一个列表,第一个元素是大写字母量,第二个元素是小写字母量。代码如下: def count_letters(string): upper_count = 0 # 大写字母器 lower_count = 0 # 小写字母器 for char in string: if char.isupper(): upper_count += 1 elif char.islower(): lower_count += 1 return [upper_count, lower_count] 调用方式如下: count_letters(b'Hello, world!') # 返回 [1, 10] ### 回答2: 这里是一个Python实现的函: ```python def count_upper_lower(s): upper_count = 0 lower_count = 0 for ch in s: if ch.isupper(): upper_count += 1 elif ch.islower(): lower_count += 1 return upper_count, lower_count ``` 函名为`count_upper_lower`,接收一个字符串`s`。接下来定义了两个变量`upper_count`和`lower_count`,并将它们初始化为0。在一个for循环,遍历字符串的每个字符。对于每个字符,使用`isupper`方法检查它是否是大写字母。如果是,将`upper_count`加1;如果不是,则使用`islower`方法检查它是否是小写字母。如果是,将`lower_count`加1。最后返回一个元组`(upper_count, lower_count)`,分别表示字符串大写字母小写字母量。 可以调用这个函进行测试: ```python s = input('Please input a string: ') upper, lower = count_upper_lower(s) print('The string contains', upper, 'uppercase letters and', lower, 'lowercase letters.') ``` 可以看到,程序会提示用户输入一个字符串,然后调用`count_upper_lower`函统计大写字母小写字母量,最后输出结果。 ### 回答3: 要编写一个函统计给定字符串大写字母小写字母,可以使用 Python 的字符串方法和循环结构来实现。 首先,函应该接收一个字符串作为输入参。然后,定义两个变量来计算大写字母小写字母个数,并使用循环结构和字符串方法来遍历字符串并逐个比较每个字符。如果字符大写字母小写字母,那么相应的计器就会增加。 下面是一个用 Python 编写的函的示例代码: ```python def count_upper_lower(input_string): upper_count = 0 lower_count = 0 for char in input_string: if char.isupper(): upper_count += 1 elif char.islower(): lower_count += 1 print("大写字母量为:", upper_count) print("小写字母量为:", lower_count) ``` 使用这个函,可以传递一个字符串作为输入参,并输出大写字母小写字母量,如下所示: ```python test_string = "Hello World! This is a test string!" count_upper_lower(test_string) ``` 输出结果为: ``` 大写字母量为: 4 小写字母量为: 23 ``` 这个示例代码可以处理任意长度的字符串,并且可以在其他 Python 应用程序使用。如果希望将计器保存为返回值,而不是打印出来,可以使用 return 语句替换 print 语句。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

可可南梨

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

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

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

打赏作者

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

抵扣说明:

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

余额充值