https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1023
题目不难 很简单 但要注意‘\‘ 注意‘\‘ 注意‘\‘ 重说三 char ans[]在赋值的时候如果只有一个‘\‘话 会出错的"\040"
#include<cstdio> #include<iostream> #include<cstring> #include<cmath> #include<algorithm> #include<vector> #include<queue> using namespace std; const char ans[]="`1234567890-= QWERTYUIOP[]\\ ASDFGHJKL;‘ ZXCVBNM,./"; char bns[2000]; int find(char ch){ int i; for(i=1;i<=60;i++){ if(ans[i]==ch){ return i; } } } int main(){ char ch; int t=0,z; while(scanf("%c",&ch)!=EOF){ if(ch!=‘\n‘&&ch!=‘ ‘){ z=find(ch); bns[++t]=ans[z-1]; } else if(ch==‘ ‘){ bns[++t]=‘ ‘; } else{ for(int j=1;j<=t;j++) printf("%c",bns[j]); printf("\n"); t=0; continue; } } return 0; }
时间: 2024-11-09 04:58:57