输入1个四位数,将其加密后输出。
方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,
最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。
例:括号内是说明
输入
1257
输出
The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)
供参考:
#include<stdio.h>
#define N 4
int main()
{
int n, m, a[N], i = 0;
scanf("%d", &n);
m = n;
while (m)
{
a[i++] = (m % 10 + 9) % 10;
m /= 10;
}
m = a[0], a[0] = a[2], a[2] = m;
m = a[1], a[1] = a[3], a[3] = m;
printf("The encrypted number is ");
while (i--)
printf("%d", a[i]);
return 0;
}
#include <stdio.h>
int main()
{
int i = 0;
int arr[4];
printf("请输入一个4位数:");
//读取4位数字
for(i=0;i<4;i++)
{
scanf("%1d",&arr[i]);
}
//加9模10
for(i=0;i<4;i++)
{
arr[i] += 9;
arr[i] = arr[i]%10;
}
//交换位置
for(i=0;i<4;i++)
{
int tmp;
if(i==0||i==1)
{
tmp = arr[i];
arr[i] = arr[i+2];
arr[i+2] = tmp;
}
}
//输出结果
printf("The encrypted number is ");
for(i=0;i<4;i++)
{
printf("%d",arr[i]);
}
printf("\n");
return 0;
}
#include <stdio.h>
int main()
{
int n;
int i,a[4];
scanf("%d",&n);
a[3] = n%10;
a[2] = n/10%10;
a[1] = n/100%10;
a[0] = n/1000;
for(i=0;i<4;i++)
{
a[i] += 9;
a[i]%= 10;
}
i = a[0];
a[0]=a[2];
a[2]=i;
i = a[1];
a[1]=a[3];
a[3]=i;
printf("The encrypted number is ");
for (i=0;i<4;i++)
printf("%d",a[i]);
return 0;
}