输入一行文字,找出其中的大写字母、小写字母、数字各有多少个。要求(1)求大写字母、小写字母、数字的功能分别封装成函数; 即求大写字母数量为一个函数,求小写字母数量为一个函数。 I (2) 把文字中的数字提取出来,保存到字符数组 aNum[]中,并输出,用C语言实现
时间: 2024-04-30 21:19:36 浏览: 45
以下是实现要求的代码:
```c
#include <stdio.h>
#include <ctype.h>
// 函数:计算字符串中大写字母的个数
int countUpper(const char* str) {
int count = 0;
while (*str != '\0') {
if (isupper(*str)) {
count++;
}
str++;
}
return count;
}
// 函数:计算字符串中小写字母的个数
int countLower(const char* str) {
int count = 0;
while (*str != '\0') {
if (islower(*str)) {
count++;
}
str++;
}
return count;
}
// 函数:计算字符串中数字的个数,并将数字保存到数组 aNum 中
int countNumber(const char* str, char* aNum) {
int count = 0;
while (*str != '\0') {
if (isdigit(*str)) {
aNum[count++] = *str;
}
str++;
}
aNum[count] = '\0'; // 数组末尾添加结束符
return count;
}
int main() {
char str[] = "AbC123def456";
char aNum[100];
printf("大写字母个数:%d\n", countUpper(str));
printf("小写字母个数:%d\n", countLower(str));
int numCount = countNumber(str, aNum);
printf("数字个数:%d\n", numCount);
printf("数字:");
for (int i = 0; i < numCount; i++) {
printf("%c", aNum[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
大写字母个数:3
小写字母个数:6
数字个数:6
数字:123456
```
阅读全文