Acm WERTYU的题解

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;
    
}

 

posted @ 2016-05-21 13:00  困困困  阅读(180)  评论(0编辑  收藏  举报