欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

习题 5.11 有一行电文,已按下面规律译成密码:A-Z a-z即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。

程序员文章站 2022-07-14 23:30:21
...

C++程序设计(第三版) 谭浩强 习题5.11 个人设计

习题 5.11 有一行电文,已按下面规律译成密码:A-Z a-z即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变。要求编程序将密码译回原文,并输出密码和原文。

代码块:

#include <iostream>
#include <string>
using namespace std;
int main()
{
    char upper[26], lower[26], str[30], uc, lc;
    int i, j;
    for (i=0, uc='A'; i<26; upper[i++]=uc++);
    for (i=0, lc='a'; i<26; lower[i++]=lc++);
    for (i=0; i<26; cout<<upper[i++]);
    cout<<endl;
    for (i=0; i<26; cout<<lower[i++]);
    cout<<endl;
    cout<<"Please enter string: ";
    cin>>str;
    cout<<"Original string: "<<str<<endl;
    for (i=0; i<30; i++)
        for (j=0; j<26; j++){
            if (str[i]==upper[j]){
                str[i]=upper[25-j];
                break;
            }
            else if (str[i]==lower[j]){
                str[i]=lower[25-j];
                break;
            }
        }
    cout<<"New string: "<<str<<endl;
    system("pause");
    return 0;
}