题目要求:编写函数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;
}
测试结果:
![]()