首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求各位,帮我看看这个题目如何做,新人新号就救助,感激不尽

2012-07-31 
求各位大虾,帮小弟我看看这个题目怎么做,新人新号就救助,感激不尽某个公司采用公用电话传递数据,数据是四

求各位大虾,帮小弟我看看这个题目怎么做,新人新号就救助,感激不尽
某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5,然后用和除以10的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。编程实现此功能。

[解决办法]

C/C++ code
int encrypt(int n){    int i=0,nRes=0,j;    while(i<4)    {        j = n%10;        j = (j+5)%10;        nRes *= 10;        nRes += j;        n /= 10;        i++;    }    if (n!=0)    {        printf("invalid param!\n");        return 100000;    }    return nRes;}
[解决办法]

#include <cstdlib>
#include <iostream>

using namespace std;

void swap(char i,char j)
{
char temp;
i=temp;
i=j;
j=temp;
}
int f_key(int a)
{
int x=0,y;
char ch[5];
for(int i=0;i<4;i++)
{
y=a%10;
y=(y+5)%10;
x*=10;
x+=y;
a/=10;
}
sprintf(ch,"%d",x);
swap(ch[0],ch[3]);
swap(ch[1],ch[2]);
ch[4]='\0';
return x=atoi(ch);
}
int main(int argc, char *argv[])
{
int a=1234;
a=f_key(a);
cout<<a<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

热点排行