| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 编程论坛
共有 956 人关注过本帖
标题:恺撒加密
只看楼主 加入收藏
zsy142857
Rank: 1
来 自:上海
等 级:等待验证会员
帖 子:16
专家分:0
注 册:2017-6-3
结帖率:50%
  已结贴   问题点数:20  回复次数:4   
恺撒加密
#include<iostream>
using namespace std;
char a,b,c;
int main()
{
    cin>>a>>b>>c;
    int d;
    d=a;
    int e;
    e=b;
    int f;
    f=c;
    cout<<char(d+1)<<char(e+1)<<char(f+1)<<endl;
    return 0;
}
怎么将这个程序改一下,使输入x y z变成y z a
2017-07-04 19:37
zsy142857
Rank: 1
来 自:上海
等 级:等待验证会员
帖 子:16
专家分:0
注 册:2017-6-3
  得分:0 
求大神们看一看吧!
2017-07-04 19:44
ehszt
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:34
帖 子:1633
专家分:2989
注 册:2015-12-2
  得分:10 
#include<iostream>
 using namespace std;
 char code(char a)
 {
    (a=='z')?a-=25:a++;   
    return a;
 }
 int main()
 {
    char a,b,c;
     cin>>a>>b>>c;
     cout<<code(a)<<" "<<code(b)<<" "<<code(c)<<endl;
     return 0;
 }
2017-07-04 19:50
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:254
帖 子:5715
专家分:32361
注 册:2011-1-18
  得分:10 
假如你能确保输入的一定是小写字母
程序代码:
char caesar_cipher( char c )
{
    return 'a' + (c-'a'+1)%26;
}

#include <iostream>
using namespace std;

int main( void )
{
    char a,b,c;
    cin >> a >> b >> c;
    cout << caesar_cipher(a) << caesar_cipher(b) << caesar_cipher(c) << endl;

    return 0;
}

否则
程序代码:
char caesar_cipher( char c )
{
    if( c>='A' && c<='Z' )
        return 'A' + (c-'A'+1)%26;

    if( c>='a' && c<='z' )
        return 'a' + (c-'a'+1)%26;

    return c;
}

#include <iostream>
using namespace std;

int main( void )
{
    char a,b,c;
    if( cin>>a>>b>>c )
        cout << caesar_cipher(a) << caesar_cipher(b) << caesar_cipher(c) << endl;

    return 0;
}
2017-07-05 08:29
zsy142857
Rank: 1
来 自:上海
等 级:等待验证会员
帖 子:16
专家分:0
注 册:2017-6-3
  得分:0 
谢谢!
2017-07-13 20:49







关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.074732 second(s), 9 queries.
Copyright©2004-2018, BCCN.NET, All Rights Reserved