当前位置: 首页 > news >正文

苏州企业网站建设设计/怎样淘宝seo排名优化

苏州企业网站建设设计,怎样淘宝seo排名优化,长春地图,离石古楼角网站建设题目如下: 这道题目理解起来其实并不难,关键是加密算法的实现,这里先把关键函数贴上来: 代码1 1 char CharConv(char Mark)2 {3 int orgin_num Mark;     // get ascii value of char4 int i 0,temp 0;5 int …

题目如下:

  这道题目理解起来其实并不难,关键是加密算法的实现,这里先把关键函数贴上来:

代码1

 1 char CharConv(char Mark)
 2 {
 3     int orgin_num = Mark;     // get ascii value of char
 4     int i = 0,temp = 0;
 5     int Arr[8],LeftArray[5];
 6     for(i=0;i<8;i++)
 7         Arr[i] = (Mark>>i)&1;   //save binary bit(8 bits per char) into array
 8     i = Arr[0];             //switch bit(0 <--> 1 2 <--> 3 4 <--> 5)
 9     Arr[0] = Arr[1];
10     Arr[1] = i;
11     i = Arr[2];
12     Arr[2] = Arr[3];
13     Arr[3] = i;
14     i = Arr[4];
15     Arr[4] = Arr[5];
16     Arr[5] = i;
17     temp = Arr[6] + 2*Arr[7];   //bits of circle left shift
18     for(i=0;i<=5;i++)   
19         LeftArray[(i+temp)%6] = Arr[i]; //  here try to save new bit order into new temporary array
20     for(i=0;i<=5;i++)
21         Arr[i] = LeftArray[i];   
22     temp = 0;
23     for(i=0;i<8;i++)             //calculate new char's ascii
24         if(Arr[i] == 1)
25             temp += my2pow(i);
26     return (char)temp;           // return new char
27 }

 

  值得注意的是调用了自定义函数my2pow,返回2的x幂次值,之所以不用系统的pow函数是为了避免类型转换的麻烦(参数、返回值都是double类型):

1 int my2pow(int x){
2     int i = 0,result = 1;
3     while(i<x){
4         result *= 2;
5         i++;
6     }
7     return result;
8 }

  得到单个字符的加密转换以后,可以新建字符串加密函数StrConv,循环调用上面的CharConv函数返回加密的完整字符串。

代码2

1 void StrConv(char *src,char *dst,int length){
2     int index = 0;
3     while(index < length){
4         dst[index] = CharConv((char)src[index]);
5         index++;
6     }
7 }

  函数接受三个参数,第一个参数是源字符串,第三个参数是源字符串的长度;第二个参数是存储加密后字符串的地址。函数结构也十分清晰、简单。出过一些错,不能用dst+index这种方法,会有问题,dst是char *类型,dst+1也就是:(dst指向的地址+1个字节)地址。

代码3

 1 int main()
 2 {
 3     int N,index;
 4     char temp[21]={0};
 5     char *str_array[5][21]; // assume the value of N doesn't bigger than 5
 6     scanf("%d",&N);
 7 
 8     for(index=0;index<N;index++)
 9     {
10         scanf("%s",temp);
11         StrConv(temp,(char *)str_array[index],strlen(temp));
12         memset(temp,0,sizeof(temp));
13     }
14     for(index=0;index<N;index++)
15         printf("%s\n",str_array[index]);
16     return 0;
17 }

  最后是main函数,根据题目要求来依次输入N组字符串,每组字符串长度不超过20字节。然后每输入一组给temp临时字符数组,马上加密、依次保存到str_array指针数组,最后循环输出str_array数组的N组解密值。代码第11行容易出错,传参的类型不一致可能存在潜在风险。

执行结果:

    

转载于:https://www.cnblogs.com/Higgerw/p/11428422.html

http://www.lbrq.cn/news/936685.html

相关文章:

  • 石家庄网站建设专家/站长工具seo综合查询网
  • 大学新校区建设网站/站长工具无忧
  • 网站开发前台/网页设计与制作软件有哪些
  • 四川自助seo建站/怎么申请自己的网络平台
  • 网站备案期间可以建站/自动app优化官网
  • html网站架设/口红的推广软文
  • 学校文化建设的网站/百度竞价排名名词解释
  • 邯郸做网站哪儿好/在线数据分析工具
  • 昆山网站建设是什么/seo网站有优化培训吗
  • 中国海洋大学做英语作业的网站/百度网址是多少 百度知道
  • 网站搜索框如何做/兰州网站seo
  • 申请网站价格/seo排名优化培训
  • 企业网站源码排行/网站服务器ip地址查询
  • 汽车行业网站建设比较好/技成培训网
  • 网站外包 博客/交换友情链接的途径有哪些
  • 营销型企业网站有哪些类型/seo服务
  • 网站分享链接怎么做/发稿软文公司
  • 苏州知名网站制作设计/武汉百度信息流广告
  • 个人网站做推广/seo排名技巧
  • 辽宁建设工程信息网场内业绩/河南seo
  • 简述网站建设及维护全过程/推广运营
  • 网站编程语言/外国搜索引擎登录入口
  • 佛山做外贸网站流程/百度推广售后客服电话
  • 淘宝客wordpress末班/汕头seo优化
  • 做网站源码/汕头seo
  • 做水利网站需要多少钱/互联网宣传推广
  • 什么网站上可以做简历/爱站seo查询软件
  • 苏州网站建设网站/品牌推广渠道
  • 买房子上哪个网站最好/东莞网站优化公司
  • 手机排行榜/seo的优点有哪些
  • RCLAMP2574N.TCT Semtech:超低钳位TVS二极管 0.5pF超低电容+±30kV超强防护
  • 【分享】外国使馆雷电综合防护系统改造方案(一)
  • GitHub的免费账户的存储空间有多少?
  • 【vue3+vue-pdf-embed】实现PDF+图片预览
  • 杂谈:前端开发中的常见问题
  • Linux应用开发基础知识——进程学习2(exec函数、system函数、popen函数)(三)