首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >替换Cypher

替换Cypher
EN

Stack Overflow用户
提问于 2013-12-07 15:12:30
回答 2查看 127关注 0票数 0

我有这个问题,我不知道我应该做什么,我的代码工作真正,但我不知道为什么我得到错误的答案,我不知道,当我的输入应该结束,直到文件结束?你能帮我解决我的问题吗谢谢这里是问题的链接。http://sharecode.ir/section/problemset/problem/2124。我的代码:

代码语言:javascript
运行
复制
#include <iostream>
#include <string>
#include <cstdio>
using namespace std;
int main()
{
    string alfa,alfa2,word;
    cin>>alfa;
    cin>>alfa2;
    cout<<alfa2<<endl;
    cout<<alfa<<endl;
    cin.ignore();
    while(getline(cin,word))
    {
        for(int i=0 ; i<word.size() ; i++)
        {
            bool cheak =false;
            for(int j=0 ; j<alfa.size() ; j++)
            {
                if(word[i] == alfa[j])
                {
                    printf("%c",alfa2[j]);
                    cheak = true;
                    break;
                }
            }
            if(cheak == false)
                printf("%c",word[i]);
        }
        printf("\n");
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-07 18:45:45

输入的第一行中可能有一个空格字符。

使用此方法:

代码语言:javascript
运行
复制
string alfa,alfa2,word;

getline(cin, alfa);
getline(cin, alfa2);
cout<<alfa2<<endl;
cout<<alfa<<endl;

并在代码中删除cin.ignore() :)

票数 3
EN

Stack Overflow用户

发布于 2013-12-07 16:48:08

我认为“错误”如下:

您正在输出alpha2alpha,然后再阅读text。您应该在阅读完所有输入后开始输出。

注:这不是一个错误,但在线法官可能会拒绝它,因为它遵循一个固定的顺序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20442902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档