原題鏈接:https://vjudge.net/problem/UVA-10082
分類:字符串
備註:常量數組
思路:用一個常量數組記錄上鍵盤上的字符,根據輸入的字符,如果不是空格和換行則選擇數組中左側字符輸出。
代碼如下:
C++11可過
#include<stdio.h>
#include<string.h>
char s[] = { "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./" };
int main(void)
{
int len = strlen(s), flag[256];
for (int i = 0; i < len; i++)
flag[s[i]] = i;
char ch;
while (~scanf("%c", &ch))
{
if (ch == ' ' || ch == '\n')printf("%c", ch);
else printf("%c", s[flag[ch] - 1]);
}
return 0;
}