输入一个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将千位和十位上的数字互换,百位和个位上的数字互换,组成加密后的新四位数。例如输入1257,经过加9取余后得到新数字0146,再经过两次换位后得到4601。
输入格式:
输入在一行中给出一个四位的整数x,即要求被加密的数。
输出格式:
在一行中按照格式“The encrypted number is V”输出加密后得到的新数V。
#include<stdio.h>
#define N 10
int judge(char *p){
if(*p>='0'&&*p<='9')return (*p-'0');//字符串转换成十进制;
}
void Swap(int *p,int *q){//值交换;
int t;
t=*p;
*p=*q;
*q=t;
}
char judge1(int *p){//十进制转换成字符
if(*p>=0&&*p<=9)return *p+'0';}
int main()
{
char a[N];
int b[N],p=0;
gets(a);//获取字符串;
for(int i=0;i<4;i++){
b[i]=(judge(&a[i])+9)%10;
}
Swap(&b[0],&b[2]);//千位和十位交换;
Swap(&b[1],&b[3]);//百位与个位交换;
for(int i=0;i<4;i++){
a[i]=judge1(&b[i]);
}
printf("The encrypted number is %s",a);
return 0;
}
输入样例:
1257
输出样例:
The encrypted number is 4601