编写程序,输入任意一个字符,假设输入的字符不是ASCII码表的第一个和最后一个字符,输出它在ASCII码表中前一个字符和后一个字符,c语言
时间: 2024-09-25 08:03:43 浏览: 100
在C语言中,你可以编写如下的程序来实现这个功能:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
int ch;
printf("请输入一个字符(非ASCII码表第一个和最后一个字符): ");
scanf("%d", &ch); // 注意这里需要先转换成整数,因为scanf默认接收int类型的输入
if (ch >= 'a' && ch <= 'z') { // 如果是小写字母,转为大写处理
ch = ch - 1; // 前一个字符
ch = ch + 26; // 后一个字符(ASCII码表中小写字母之后的下一个字母)
} else if (ch >= 'A' && ch <= 'Z') { // 如果是大写字母
ch = ch - 1; // 前一个字符
ch = ch + 26; // 后一个字符
} else {
printf("输入的字符不在ASCII码表的小写或大写字母范围内\n");
return 0;
}
ch += 'A' - 1; // 转换回大写字母范围,如果输入的是大写字母
ch -= 'a'; // 否则保持不变,如果是小写字母
printf("前一个字符: %c, 后一个字符: %c\n", ch - 1, ch);
return 0;
}
```
在这个程序中,我们首先获取用户输入的字符,然后判断其是否在ASCII码表的小写或大写字母范围内。接着,我们会计算出前一个和后一个字符,并将其转换回正确的ASCII范围。
阅读全文