问题链接:POJ2538 ZOJ1884 UVA10082 WERTYU。入门练习级题,用C语言编写程序。
问题简述:参见上述链接。
问题分析:这个问题是有关输入输出流处理和字符转换问题。将键盘上的字符放在数组中备查可以省去许多程序逻辑。
程序说明:函数convert()封装字符转换功能,可以简化主函数的逻辑。
AC的C语言程序如下:
/* POJ2538 ZOJ1884 UVA10082 WERTYU */ #include <stdio.h> char s[]="`1234567890-=QWERTYUIOP[]\ASDFGHJKL;'ZXCVBNM,./"; #define SIZE (int)sizeof(s) char convert(char c) { int i; for(i=1; i<SIZE; i++) if(s[i] == c) return s[i-1]; return c; } int main(void) { char c; while((c=getchar()) != EOF) putchar(convert(c)); return 0; }