输入一个以回车结束的字符串(少于80个字符),将其中的大写字母用下面列出的对应大写字母替换,其余字符不变,输出替换后的字符串。用c语言
时间: 2023-11-22 17:52:32 浏览: 69
以下是一个简单的 C 语言程序实现上述功能:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[80];
char map[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'};
char replace[26] = {'V', 'W', 'X', 'Y', 'Z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U'};
printf("请输入字符串:\n");
fgets(str, 80, stdin);
str[strcspn(str, "\n")] = '\0'; // 去除 fgets() 函数读入的换行符
for (int i = 0; i < strlen(str); i++) {
if (str[i] >= 'A' && str[i] <= 'Z') { // 如果是大写字母
str[i] = replace[str[i] - 'A']; // 替换为对应的大写字母
}
}
printf("替换后的字符串为:%s\n", str);
return 0;
}
```
这里使用了两个数组 `map` 和 `replace`,用于存储原始的大写字母和对应替换的大写字母。程序中使用了 `fgets()` 函数读入字符串,并使用 `strcspn()` 函数去除读入的换行符。然后遍历字符串中的每个字符,如果是大写字母,则根据其 ASCII 码值在 `replace` 数组中查找对应替换的大写字母,并将其替换为原字符串中的字符。最后输出替换后的字符串即可。
阅读全文