编写一个 C 语言程序,实现以下功能:定义一个字符数组,用于存储用户输入的字符串(长度不超过 100),统计其中大写字母的数量,然后将其复制到另外一个数组中,并在另外数组中将大写字母转为小写字母后,再完整输出
时间: 2024-12-18 17:37:56 浏览: 10
在 C 语言中,你可以创建一个函数来完成这个任务。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 包含处理字符大小写的头文件
#define MAX_LEN 100
// 函数声明
void count_and_convert(char input[], char output[], int *uppercase_count);
int main() {
char str[MAX_LEN];
printf("请输入一个不超过100个字符的字符串:");
fgets(str, MAX_LEN, stdin); // 防止超长输入,包含换行符
str[strlen(str) - 1] = '\0'; // 删除换行符
char converted[MAX_LEN]; // 另一个数组存放转换后的结果
int uppercase_count;
// 统计大写字母并复制到 output 数组
count_and_convert(str, converted, &uppercase_count);
printf("原始字符串中的大写字母数量:%d\n", uppercase_count);
printf("转换后的字符串:%s\n", converted);
return 0;
}
// 定义统计大写字母并转换的函数
void count_and_convert(char input[], char output[], int *uppercase_count) {
for(int i = 0; input[i] != '\0'; ++i) { // 遍历输入字符串
if(isupper(input[i])) { // 判断是否为大写字母
output[i] = tolower(input[i]); // 转换为小写
*uppercase_count++; // 计数器加一
} else {
output[i] = input[i]; // 非大写字母直接复制
}
}
output[*uppercase_count] = '\0'; // 添加终止符
}
```
阅读全文