zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

密码字符输出密码 第一个 要求 习题 一行
2023-09-14 09:06:56 时间

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