输入一个字符串(少于 80 个字符),包含空格和特殊符号等。将其中的大写字母用下面列出的对应大写字母替换, 其余字符不变, 输出替 换后的字符串。试编写相应程序。
时间: 2024-10-17 21:08:10 浏览: 22
Java小程序 输入一个字符串,将每一个单词首字母大写
要完成这个任务,你可以使用 C 语言中的标准库函数,比如 `isupper()` 来检查字符是否为大写字母,然后根据给定的替换规则进行转换。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 包含 isupper 和 toupper 函数
// 定义替换表
char replacement_table[26] = {
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
};
int main() {
char input[81]; // 假设最多输入80个字符,包括结尾的'\0'
fgets(input, sizeof(input), stdin); // 输入字符串
for (size_t i = 0; i < strlen(input); ++i) {
if (isupper(input[i])) { // 如果字符是大写
input[i] = toupper(replacement_table[input[i] - 'A']); // 替换为对应的替换表字符
}
}
printf("替换后的字符串: %s\n", input);
return 0;
}
```
在这个程序中,我们首先读取用户的输入,然后遍历每个字符。如果字符是大写字母(`isupper()` 函数返回非零值),我们就将其替换为替换表中对应位置的字符(`toupper()` 函数)。最后输出处理过的字符串。
阅读全文