判别输入字符是否为英文字母(包括大小写),如果是字母,输出它在字母表中对称位子的字母。例如输入a,输出z,输入B,输出Y。若该字符不是英文字母,则输出"It is not a letter."字样
参考GPT和自己的思路:这个问题可以使用ASCII码进行判断,ASCII码中英文字母的编码范围是6590和97122。可以使用Java中的char类型和ASCII码进行比较来实现此功能。具体的实现可以参考下面的代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
char c = sc.next().charAt(0);
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
int sym = 'a' + 'z' - c; //求对称位置的ASCII码
if (c >= 'A' && c <= 'Z') { //判断大写字母
sym -= 32;
}
System.out.println((char) sym);
} else {
System.out.println("It is not a letter.");
}
sc.close();
}
}
以上代码实现了通过判断输入的字符是否为英文字母,并输出其在字母表中对称的字母。如果不是英文字母,则输出"It is not a letter."。
回答如下,记得采纳哦!
#include <stdio.h>
int main()
{
char c;
scanf("%c", &c);
if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
{
if (c >= 'a' && c <= 'z')
printf("%c", 'z' - (c - 'a'));
else
printf("%c", 'Z' - (c - 'A'));
}
else
printf("It is not a letter.");
return 0;
}
供参考:
#include <stdio.h>
#include <ctype.h>
int main()
{
char ch;
scanf("%c", &ch);
if (isalpha(ch)) {
if (islower(ch))
printf("%c", 'z' - ch + 'a');
else
printf("%c", 'Z' - ch + 'A');
}
else
printf("It is not a letter.");
return 0;
}