Chinaunix首页 | 论坛 | 博客
  • 博客访问: 99215
  • 博文数量: 102
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1011
  • 用 户 组: 普通用户
  • 注册时间: 2014-01-15 13:58
个人简介

普普通通一个人

文章分类

全部博文(102)

文章存档

2018年(1)

2015年(13)

2014年(88)

我的朋友

分类: C/C++

2014-02-20 17:10:12


点击(此处)折叠或打开

  1. /* 加密解密程序 */
  2. /* 加密:使用该位数字+7,再对10取模,来替代该位,然后 1、3位互换,2、4位互换 */
  3. /* 解密:通过输入加密后的数字,显示出加密前的样子 */


  4. #include <stdio.h>

  5. int *encrypt(int);
  6. int deciphering(int);

  7. int main(){
  8.     int original, *encry;
  9.     printf("输入原始数字: ");
  10.     scanf("%d", &original);
  11.     encry = encrypt(original);
  12.     printf("%d%d%d%d", encry[0],encry[1],encry[2],encry[3]);
  13. }


  14. //加密算法
  15. int *encrypt(int ori){
  16.     int a[4], tmp;
  17.     //把四位整数赋值给数组
  18.     a[0] = ori / 1000;
  19.     a[1] = (ori % 1000) / 100;
  20.     a[2] = ((ori % 1000) % 100) / 10;
  21.     a[3] = ((ori % 1000) % 100) % 10;
  22.     //打印原始数组
  23.     printf("加密前数组为:%d%d%d%d\n", a[0],a[1],a[2],a[3]);
  24.     //实现每一位+7后再对10取模
  25.     for (int i = 0; i < 4; i++){
  26.         a[i] = (a[i] + 7) % 10;
  27.     }
  28.     //打印+7后再对10取模数组
  29.     printf("每一位+7后再对10取模数组为:%d%d%d%d\n", a[0], a[1], a[2], a[3]);
  30.     //实现1、3位互换
  31.     tmp = a[0];
  32.     a[0] = a[2];
  33.     a[2] = tmp;
  34.     //实现2、4位互换
  35.     tmp = a[1];
  36.     a[1] = a[3];
  37.     a[3] = tmp;
  38.     printf("1、3位;2、4位互换后数组为:%d%d%d%d\n", a[0], a[1], a[2], a[3]);
  39.     return a;
  40. }

阅读(142) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~