使用C语言完成该程序:输入两个字符,若这两个字符之差是偶数,则输出它们的后继字符,否则输出它们的前驱字符。这里的前驱后继是指输入的两个字符中,较小字符前面的和较大字符后面的那个字符。输出时,若前驱字符或后继字符超过“可印刷字符”的范围,则以整数格式输出,并输出该字符没有可印刷形式的信息。
时间: 2024-02-14 12:16:48 浏览: 58
C语言求两个字符串的最长公共子串
5星 · 资源好评率100%
下面是使用C语言编写的程序:
```c
#include <stdio.h>
#include <ctype.h>
int main() {
char ch1, ch2;
int diff;
printf("请输入两个字符:");
scanf("%c %c", &ch1, &ch2);
diff = ch2 - ch1;
if (diff % 2 == 0) {
if (isprint(ch1 + 1) && isprint(ch2 + 1)) {
printf("后继字符分别为:%c %c\n", ch1 + 1, ch2 + 1);
} else {
printf("后继字符分别为:%d %d,该字符没有可印刷形式\n", ch1 + 1, ch2 + 1);
}
} else {
if (isprint(ch1 - 1) && isprint(ch2 + 1)) {
printf("前驱字符分别为:%c %c\n", ch1 - 1, ch2 + 1);
} else {
printf("前驱字符分别为:%d %d,该字符没有可印刷形式\n", ch1 - 1, ch2 + 1);
}
}
return 0;
}
```
程序中使用了`ctype.h`库中的`isprint()`函数判断字符是否为可印刷字符。程序中先计算两个字符的差值,然后根据差值的奇偶性输出对应的前驱或后继字符。如果前驱或后继字符超过了可印刷字符的范围,则以整数格式输出,并输出该字符没有可印刷形式的信息。
阅读全文