文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>poj(百练) 2975 解题报告

poj(百练) 2975 解题报告

时间:2011-05-31  来源:muyanbiao

//问题分析:
//       此问题很简单,将密码消息中的每个字母分别进行相应的变换即可。关键是输入数据中的消息行、读入消息行的数据。每个消息行包括多个单词,以及若干个标点符号。
//       a.scanf函数输入字符串时,每个字符串中不能有空格。每读到单词“START”,则表示下面读到的是一个消息行中的单词,直到读到单词“END”为止。gets函数则一次可   
//   读入一整行。
//       b.对消息解密时,需要将表示消息中单词的字符串作为普通的数组,依次变换其中的每个字母。

#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <iostream>
using namespace std;

char str1[6] = "START";
char str2[4] = "END";
char str3[11] = "ENDOFINPUT";
char original[27] = "VWXYZABCDEFGHIJKLMNOPQRSTU";
char code[27] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

int main()
{
        char instr[210];
        while (gets(instr)){
                if (strcmp(instr, str3) == 0) break;
                else if (strcmp(instr,str1) == 0 || strcmp(instr, str2) == 0) continue;
                else{
                        int len = strlen(instr);
                        for (int i = 0; i < len; i++){
                                if (isalpha(instr[i])){
                                        for (int j = 0; j < 26; j++){
                                                if (instr[i] == code[j]){
                                                        cout << original[j];
                                                }
                                        }
                                }
                                else cout << instr[i];
                        }
                }
                cout << endl;
        }
        return 0;
}
相关阅读 更多 +
排行榜 更多 +
翌日波奇狗的历险记手机版下载

翌日波奇狗的历险记手机版下载

休闲益智 下载
怪兽远征安卓版下载

怪兽远征安卓版下载

角色扮演 下载
谷歌卫星地图免费版下载

谷歌卫星地图免费版下载

生活实用 下载