注册 登录
编程论坛 C++教室

[求助]一道c++数组问题

家力掠 发布于 2015-11-07 12:48, 691 次点击
程序代码:
题目是:有一行电文,已按下面规律译成密码:A->Z a->z B->Y b->y C->X c->x … 即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。非字母字符不变,要求编程序将密码译回原文,并打印出密码和原文。
code:

 以及这段问题代码:
char data[11];
int len;
for(len = 0; len <= 9; len++)
{
    if((data[len] >= 65 && data[len] <= 90) || (data[len] >=97) && data[len] <= 122)
        data[len]+=25;
    cout<<data[len];
}

3 回复
#2
rjsp2015-11-09 09:07
程序代码:
#include <iostream>
#include <string>
using namespace std;

int main( void )
{
    string s;
    cin >> s;
    for( string::iterator itor=s.begin(); itor!=s.end(); ++itor )
    {
        char& c = *itor;
        if( c>='a' && c<='z' )
            c = 25-(c-'a') + 'a';
        else if( c>='A' && c<='Z' )
            c = 25-(c-'A') + 'A';
    }
    cout << s << endl;
    return 0;
}
#3
家力掠2015-11-10 17:35
回复 2楼 rjsp
谢谢.想请教下这个程序只是在ASCII范围内进行加减为什么会出现乱码呢?
#4
农民工2015-11-16 11:15
你data没设置密文啊
1