简单的给数字加密解密

#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;  //i++   
        ++len;
    }
	
	return len;
}

// 数组 ---> 整型
int Array_To_Int(int array[], int len )
{
	int num=0;
	int i ;
	
	for(i = 0; i < len; i++ )
	num = num*10+array[i];//num=num*10+array[i];
	
	return num;
}

//加密
int JiaMi(int array[], int len)
{
	int i;
	int temp;
	
	for (i = 0; i < len; ++i)
        array[i] = (array[i]+5) % 10;//加密规则
    
    temp = array[len-1];
    array[len-1] = array[0];
    array[0] = temp;
} 

//解密
int JieMi(int array[],int len)
{
	int temp;
	int i;
	
	temp = array[len-1];
    array[len-1] = array[0];
    array[0] = temp;

	for (i = 0; i < len; ++i)
        array[i] = (array[i] + 5) % 10;
}

int main()
{
    int num = 12345678;
	int array[8]={0};
	int i;
	
	int len=Int_To_Array(num, array);
	
	for(i = 0; i < len; i++)
		printf("%d",array[i]);
	
	printf("\n-------------\n");
	
	JiaMi(array, len);
	
	for(i = 0; i < len; i++)
		printf("%d",array[i]);
	
	printf("\n-------------\n");
	
	JieMi(array,len);
	
	for(i = 0; i < len; i++)
		printf("%d",array[i]);
	
	printf("\n-------------\n");
	
	num=Array_To_Int(array, len);
	
	printf("%d",num);
	
	printf("\n-------------\n");
	
    return 0;
}

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43665091/article/details/84453462