定义一个一维字符数组string[100],输入一个字符串,含n个字符(n≤100),定义一个整形数组num[5],用于存放统计结果数据,编写函数count()统计字符串中大写字母、小写字母、空格、数字以及其他字符的个数,使用指针完成地址传递,主函数完成数组输入和统计结果输出。
时间: 2023-04-29 07:03:14 浏览: 134
题目要求定义一个一维字符数组string[100],输入一个字符串,含n个字符(n≤100),定义一个整形数组num[5],用于存放统计结果数据,编写函数count()统计字符串中大写字母、小写字母、空格、数字以及其他字符的个数,使用指针完成地址传递,主函数完成数组输入和统计结果输出。
具体实现可以参考以下代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void count(char *str, int *num) {
int len = strlen(str);
for (int i = ; i < len; i++) {
if (str[i] >= 'A' && str[i] <= 'Z') {
num[]++; // 统计大写字母个数
} else if (str[i] >= 'a' && str[i] <= 'z') {
num[1]++; // 统计小写字母个数
} else if (str[i] == ' ') {
num[2]++; // 统计空格个数
} else if (str[i] >= '' && str[i] <= '9') {
num[3]++; // 统计数字个数
} else {
num[4]++; // 统计其他字符个数
}
}
}
int main() {
char str[100];
int num[5] = {}; // 初始化为
cout << "请输入一个字符串(长度不超过100):" << endl;
cin.getline(str, 100);
count(str, num);
cout << "大写字母个数:" << num[] << endl;
cout << "小写字母个数:" << num[1] << endl;
cout << "空格个数:" << num[2] << endl;
cout << "数字个数:" << num[3] << endl;
cout << "其他字符个数:" << num[4] << endl;
return ;
}
```
在主函数中,首先定义了一个字符数组str和一个整型数组num,其中num数组初始化为。然后通过cin.getline()函数输入一个字符串,再调用count()函数统计字符串中大写字母、小写字母、空格、数字以及其他字符的个数,最后输出统计结果。在count()函数中,使用指针完成地址传递,通过循环遍历字符串中的每个字符,根据字符的不同类型,分别统计到num数组的不同位置上。
阅读全文