題目連接:php
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1023ios
/* 題目大意是把輸入錯誤的數據復原成正確的數據 輸入的數據總會把輸入的字符向右移動一個 因此咱們要將輸入的字符向左移動一位 */ #include <iostream> #include <stdio.h> char s[] = "`1234567890-=QWERTYUIOP[]\\ASDFGHJKL;'ZXCVBNM,./"; using namespace std;//應爲此處的要處理的數據比較多,因此我把他將全部的字符都存入一個字符串裏 int main(void) { int i; char ch;//每次讀入的字符 while ((ch = getchar()) != EOF) {//每次讀取一個字符 for (i = 0; s[i] && s[i] != ch; i++);//找到字符串中相應位置 if (s[i])//若是在s中找到了這個字符,那就打印它的前一個字符 putchar(s[i - 1]); else//若是沒有找到,那就輸出當前讀入的字符 putchar(ch); } return 0; }