c语言数字加密解密程序(关于c语言课程设计)

来源:百度知道 编辑:UC知道 时间:2024/06/05 21:09:41
三、数字加密解密(选做)
原始数字 0 1 2 3 4 5 6 7 8 9
密文数字 7 5 9 1 3 6 8 0 2 4
原始数字与加密后的道德密文数字之间的对应关系如下表所示:
试编写程序把原始数字转换加密密文和把加密密文转换成原始数字。
输入:文件中的第一行只有一个数m,表明随后有m个待转换的数字串的描述信息。每个待转换的数字串的描述信息的格式为c n d1 d2????dn。其中c为转换命令码:c=1表示把原始数字转换成密文数字;c=2表示把密文数字转换成原始数字;n表示数字串中的数字的个数,数字串中待转换的数字分别为d1d2???dn;不同的数字之间用空白字符隔开。
输出:依次输出各个数字串的转换结果,不同的数字串的转换结果用一个由十个“=”构成的行隔开。
例如:
输入:
2
1 6 1 9 9 7 7 1
2 10 3 8 2 5 7 4 9 1 9 8
输出:
5 4 4 0 0 5
= = = = = = == = = = = = = = = = =
4 6 8 1 0 9 2 3 2 6
表在上面表格线未画,但很明显,注意.,下面例子中的数据均视为左对齐且上一个数字与下一个数字对齐

表呢
如果是acm 可能细节要自己改一下
代码仅供参考
#include<iostream>
using namespace std;
int main()
{
int a[58],b[58];
a['0']=7;
a['1']=5;
a['2']=9;
a['3']=1;
a['4']=3;
a['5']=6;
a['6']=8;
a['7']=0;
a['8']=2;
a['9']=4;
b['0']=7;
b['1']=3;
b['2']=8;
b['3']=4;
b['4']=9;
b['5']=1;
b['6']=5;
b['7']=0;
b['8']=6;
b['9']=2;
int m;
cin>>m;
while(m--)
{
int c;
int n;
char s[1000];
cin>>c;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>s[i];
}
if(c==1)
{
for(int i=0;i<n;i++)
cout<<a[s[i]]<<' ';

}
else if(c==2)
{