当前位置: 移动技术网 > IT编程>开发语言>C/C++ > 2019CVTE技术支持软件编程2

2019CVTE技术支持软件编程2

2018年09月11日  | 移动技术网IT编程  | 我要评论

智代很忙,战狼2电影在线观看八哥,黄书网

题目:有8位数密码,加密规则如下:第一步取最后一位数;第二部将倒数第二位数放到最前形成一个新数,再取新数最后一位,以此循环取完所有数为止;如98698426,密码为64982689,时间复杂度为o(n)。

思路:在输入字符串之间扩展固定长度内存,以便存储移动过来的数据。由规律得出:该固定长度为strlen(string)-1。其余按照题目操作编程即可。

/*注意作者未考虑时间复杂度,另外改程序适用于51个长度内的字符串操作(51 + (51-2) = 100),不局限于8个。*/

#include <stdio.h>

#include <string.h>

#include <malloc.h>

char str[101];

int  main()

{

       int   i, j, len;

       scanf("%s", str);

       len = strlen(str);

       memmove(str + (strlen(str)-2), str, strlen(str));

       for (j = len-3, i = strlen(str)-1; j > -1; i--, j--)

       {

              printf("%c", str[i--]); //打印当前字符

              str[j] = str[i]; //将下一个位置字符移动到字符串首位

       }

       printf("%c%c\n", str[i], str[j+1]);

       return 0;

}

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网