#include
void main()
double a;
printf("%f",a);
scanf("%f",&a);
switch(a)
{
case 'a':printf("%f",a);
break;
default:printf("輸入的字符不是字母\n");
}
}
顯示錯誤,不知道怎麼打下去了 後面還有但是不知道怎麼打了,求解!
題目如下: 輸入一個字符,判斷字符必須為字母,為其它字符則輸出“輸入字符不是字母”
然後輸入的字符改為當前字符的下一個字符,例:c改為d,Z改為A。注意大小寫不能改變。
//char類型在c++裡存的是ascii碼,是int型,能直接用+1來獲取下一個數
#include <stdio.h>
void main()
{
char ch = getchar(); //讀字符
if (ch >= 'A'&&ch <= 'Z') //A-Z
{
ch = (ch - 'A' + 1) % 26 + 'A'; //ch-'A'代表這個數距離字母A的偏移量;+1代表字母+1;%26代表26個字母循環,也就是Z+1=A;最後計算出的偏移值+A就是實際的值
printf("%c\n", ch);
}
else if (ch >= 'a'&&ch <= 'z') //a-z
{
ch = (ch - 'a' + 1) % 26 + 'a'; //同理
printf("%c\n", ch);
}
else //其它
{
printf("輸入的字符不是字母\n");
}
}