用C語言實現字母之間的大小寫轉換
阿新 • • 發佈:2019-02-08
題目要求
編寫一個程式,可以一直接收鍵盤字元,如果是小寫字元就輸出對應的大寫字元,如果接收的是大寫字元,就輸出對應的小寫字元,如果是數字不輸出。
程式分析
看到“接受字元”想到scanf函式,但題設中不只輸入一次而且輸入型別也不同(%c %d),那麼定義就只能用getchar()函式實現。
while(hsl=getchar()!=EOF)
{
…
}
如果不輸入Ctrl+z,hsl的值恆為1,迴圈體就構成了。
實現大小寫之間的轉換,ASCLL可以實現儲存。
核心程式碼
while ((hsl = getchar()) != EOF) { if (hsl > 'a' && hsl < 'z') { printf ("%c\n",hsl-32); } else if (hsl > 'A' && hsl < 'Z') { printf ("%c\n",hsl+32); } else if (hsl > '0' && hsl < '9') { ; } else { ; } }
全部程式碼如下
#include <stdio.h> #include <stdlib.h> int main() { int hsl; printf ("請輸入一個字元:>"); while ((hsl = getchar()) != EOF) { if (hsl > 'a' && hsl < 'z') { printf ("%c\n",hsl-32); } else if (hsl > 'A' && hsl < 'Z') { printf ("%c\n",hsl+32); } else if (hsl > '0' && hsl < '9') { ; } else { ; } } printf ("\n"); system ("pause"); return 0; }
展示結果如下: