某个公司采用公用电话传递数据,数据是四位的整数,在传递过程中是加密的,加密规则如下:每位数字都加上5
,然后用和除以10
的余数代替该数字,再将第一位和第四位交换,第二位和第三位交换。写一个函数实现这个算法,函数原型是 int changeinfo(int info)
输入描述:
小于1000
的正整数
输出描述:
4
位正整数
测试输入: 0
预期输出: 5555
#include<iostream>
using namespace std;
int changeinfo(int info){
int a,b,c,d;
d = (info+5)%10; //第四位数字
info /= 10;
c = (info+5)%10; //第三位数字
info /= 10;
b = (info+5)%10; //第二位数字
info /= 10;
a = (info+5)%10; //第一位数字
return d*1000+c*100+b*10+a; //交换(直接乘上不同的位数)
}
int main(){
int info;
cin>>info;
cout<<changeinfo(info)<<endl;
return 0;
}