问题链接: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;
}