程序3-6 WERTYU
把手放在键盘上时,稍不注意就会往右错一 位。这样,输入Q会变成输入W,输入J会变成输 入K等。键盘如图3-2所示。
输入一个错位后敲出的字符串(所有字母均 大写),输出打字员本来想打出的句子。输入保 证合法,即一定是错位之后的字符串。例如输入中不会出现大写字母A。
样例输入:
O S, GOMR YPFSU/
样例输出:
I AM FINE TODAY.
#include<stdio.h> char s[] = "`1234567890QWERTYUIOP[]\ASDFGHJKL;'ZXCVBNM,./"; int main() { int i, c; while((c = getchar()) != EOF){ for(i = 1; s[i] && s[i] != c; i++); if(s[i]) putchar(s[i-1]); else putchar(c); } return 0; }
1.常数数组 不用写大小 系统会自动计算
2.大数组要定义在main之前
3.getchar;
常用while((c = getchar()) != EOF)输入字符串 好处是不用储存 依次按输入的字符一个个进入循环运算 用putchar输出 putchar也是一个个输出 应该在while循环里
4.for循环后加; 可以使i一直循环到不符合条件后停止 只是单纯的循环i 而不进行任何操作 目的是制造出符合条件的i 并保存下来(比如该题就是循环到和c一样的s[i] 这样保存好i后可以输出s[i - 1]
5, if语句的意义防止s[i]是\0 
只要是字符 或者不为0的数字 都是真 但是\0是假

浙公网安备 33010602011771号