整型数——>数组——>加密——>数组——>整型数
整型数——>数组——>解密——>数组——>整型数
include <stdio.h>
//整型-->数组
int Int_To_Array(int num, int array[])
{
int i = 0;
int len = 0;
while (num)
{
array[i] = num % 10;
num /= 10;
i++;
len++;
}
return len;
}
//加密
int JiaMi(int array[] ,int len )
{
if (array == NULL)
{
return -1;
}
if (len < 1)
{
return -1;
}
int tmp;
int i = 0;
for (i = 0; i < len; i++)
{
tmp = array[i] + 5;
array[i] = tmp % 10 ;
}
tmp = array[0];
array[0] = array[len-1];
array[len-1] = tmp;
}
//解密
int JieMi(int array[] , int len)
{
if (array == NULL)
{
return -1;
}
if (len < 1)
{
return -1;
}
int tmp;
tmp = array[0];
array[0] = array[len-1];
array[len-1] = tmp;
int i = 0;
for (i = 0; i < len ; i++)
{
tmp = array[i];
tmp = tmp + 5;
if (tmp >= 10)
{
array[i] = tmp - 10;
}
else
{
array[i] = tmp;
}
}
return 0;
}
// 数组 -- 整型
int Array_To_Int(int array[],int len)
{
if (array == NULL)
{
return -1;
}
int i = 0;
int ten = 1;
int sum = 0;
for (i = 0; i < len; i++)
{
array[len-1-i] = array[len-1-i]*ten;
ten *= 10;
sum += array[len-1-i];
}
return sum;
}
int main()
{
int num;
scanf ("%d",&num);
int array[8] = {0};
int i = 0;
int tmp;
//整型转数组
int len = Int_To_Array(num, array);
//整型加密
//JiaMi(array, len);
//整型解密
JieMi(array, len);
//数组转整型
num = Array_To_Int(array , len);
printf("%d",num);
/*printf ("\n");*/
return 0;
}