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

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

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

 1 #include <iostream>
  2 using namespace std;
  3 int main(void)
  4 {
  5    char data[11];
  6    int i;
  7

  8    cin>>data;
  9


 10    for (i = 0; i < 10; i++)

 11    {

 12       if (data[i] >= 'a' && data[i] <= 'm')

 13          data[i] = 'z' - (data[i] - 97);

 14       if (data[i] >= 'A' && data[i] <= 'M')

 15          data[i] = 'Z' - (data[i] - 65);

 16       if (data[i] > 'm' && data[i] <= 'z')

 17          data[i] = 'a' + (data[i] - 110);

 18       if (data[i] > 'M' && data[i] <= 'Z')

 19          data[i] = 'A' + (data[i] - 78);

 20       cout<<data[i];

 21    }

 22


 23    return 0;

 24 }


求教这段代码为什么输出的是乱码呢?哪里出现错误了?


1 回复
#2
rjsp2015-11-09 09:01
else
-----------------------------------------------------------------
求教这段代码为什么输出的是乱码呢?哪里出现错误了? --- 你得告诉别人你输入了什么,具体点儿,比如说输入 abc,不要让别人看你的代码猜测需要输入什么。
1