此题大体意思是输入字符输出在键盘位置位于该字符前一位的字符例如输入W输出Q,输入E输出W。
思路:
定义一个常量数组char a[i],录入所有可能的键盘中的字符,然后每次输入字符控制与字符数组中每一个量作比较,如果相等则输入a[i-1];
源代码:
#include<stdio.h>
#include<string.h>
char a[]="`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./";//因为转义字符的原因,A前面要\\。
int main()
{
int k=strlen(a);
int i;
char s;
while((s=getchar())!=EOF)
{
for(i=1;i<=k&&(a[i]!=s);i++);//一定注意循环条件,且该字符不等于a[i],i++;
{
if(a[i]==s)
putchar(a[i-1]);
else
putchar(s);
}
}
return 0;
}