用c语言,输入一个大写字母,求对应小写字母及大写字母之后和之前的第二个大写字母,简单一点
时间: 2024-10-23 21:04:42 浏览: 37
在C语言中,我们可以利用ASCII码表来转换字符大小写,并找到字母前后两个大写字母。假设用户已经输入了一个大写字母,以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char input;
// 获取用户输入的大写字母
printf("请输入一个大写字母: ");
scanf("%c", &input);
// 检查输入是否为大写字母
if (isupper(input)) {
// 转换为小写
char lower = tolower(input);
// 找到前一个大写字母
char prev_upper;
for (prev_upper = input; islower(prev_upper); prev_upper--) {}
// 如果是第一个字母,前一个不存在,取空格作为示例
if (prev_upper == 'A') {
prev_upper = ' ';
}
// 找到后一个大写字母
char next_upper;
for (next_upper = input + 1; !islower(next_upper) && next_upper != '\n'; next_upper++) {}
// 如果超过了结尾,取空格作为示例
if (next_upper == '\n') {
next_upper = ' ';
}
printf("对应的小写字母是 %c\n", lower);
printf("前一个大写字母是 %c\n", prev_upper);
printf("后一个大写字母是 %c\n", next_upper);
} else {
printf("输入的不是大写字母,请重新输入。\n");
}
return 0;
}
```
在这个代码中,`isupper()`函数检查字符是否为大写,`tolower()`将大写转为小写,然后通过遍历寻找前后的大写字母。注意,这里假设输入的是单行字符,如果需要处理多行文本,你需要适当调整边界条件。
阅读全文