-
-
[旧帖]
[分享]关于向字符串中插入随机数字的问题
0.00雪花
-
发表于:
2010-11-21 18:30
1311
-
[旧帖] [分享]关于向字符串中插入随机数字的问题
0.00雪花
看到一个帖子,自己有点想法,但是我在那里没有回复权限,来这里说说自己的想法:
原帖http://bbs.pediy.com/showthread.php?t=125190
原文很长,意思就是要实现一个在字符串中插入随机数字的算法。而且文章没有说清楚在各位插入几个随机数字。但可以看出应该是插入数目也是随机的。
问题重新描述为:给出字符串S,找出一个算法实现向该字符串每一个字符前插入0~9的随机数字,插入数字的个数也为随机个(此处也限定为0~9)。最后返回得到的新的字符串。
我认为主要解决如何循环插入的问题,将字符串转化为字符数组,下面给出我认为的算法伪代码:
proc InsertNum(String s)
//接受字符串
int SLenth,randA,i,j,k; //i,j,为循环变量,k为游标
char SAAr[],SAr[]; //SAAr[] 存放字符串的各个字符,SAr[]存放新产生的字符
SLenth:=Getlenth(s); //获取字符串的长度
change s to array and then save in SAAr[] //将字符串转化为字符数组并存放于SAAr[]中
k:=0;
for i from 0 to SLenth
randA=rand()%10; //第i位需要插入的随机数的个数
for j from 0 to randA
SAr[k]=int_to_char(rand()%10) //插入randA个随机数字并转换为字符,存放到SAr[]中
k++;
end{for}
SAr[k]:=SAAr[i]; //存放原串的第i个字符
end{for}
output(*SAr); //输出字符串如果只是显示则没有问题,若要返回字符串,还需将字符数组转换为字符串
end proc{InsertNum}
伪代码就这样了,获取字符串长度,字符串转化为字符数组、int型数字转换为字符、字符数组转换为字符串等函数功能就不啰嗦了。
悲剧呀!看个帖想回复一下都这么麻烦,如果觉得我还勉强够资格被邀请就给俺一个邀请码吧!呵呵!!
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法