加密與解密

/* 標準文檔模板 */

#include "Stdio.h"
#include "Conio.h"


int main(void)
{
 /* 此處添加你自己的代碼 */
    /*初始化*/
    int a[8],b[8];
    int i,j,count;
    long in;

    /*輸入部分*/
    printf("請輸入你需要加密的數據:");
    scanf("%ld",&in);
    for(i=0;in>=1;i++)  /*輸入倒敘整數的每位到數組a[8]*/
    {
       a[i]=in%10; /*取輸入數的每一位,從右到左*/
       in/=10;     /*每step位數減一位*/

    }

    /*加密部分*/
    count=i;/*記錄輸入數的位數,循環正常退出帶出來的counut的值爲8*/

    for(i=0;i<count;i++)
    {
        a[i]=(a[i]+5)%10;/*對a[8]數組裏的每個元素+5並%10*/
    }


    /*首尾交換*/
    i=a[0];
    a[0]=a[count-1];
    a[count-1]=i;

    /*打印出加密後的值*/
    printf("加密後數據爲:");
    for(i=0;i<count;i++)
    {
        printf("%d",a[i]);
    }
    printf("/n");


    /*解密部分*/
    /*首尾交換*/
    i=a[0];
    a[0]=a[count-1];
    a[count-1]=i;

    /*將a[8]裏大於等於5的元素減5處理,其他的元素加5處理,並倒敘存放到另一數組裏*/
    for(i=0,j=count-1;i<count;i++,j--)
    {
        (a[i]>=5)?(a[i]=a[i]-5):(a[i]=a[i]+5);
        b[j]=a[i];
    }

    printf("解密後數據爲:");
    for(i=0;i<count;i++)
    {
        printf("%d",b[i]);
    }
    printf("/n");


  getch();
  return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章