需求:lr需要在一串数字中随机位置插入一个新数字的实现方式

Posted Agoly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了需求:lr需要在一串数字中随机位置插入一个新数字的实现方式相关的知识,希望对你有一定的参考价值。

效果如下:

 

需要用到sscanf()函数:  从一个字符串中读进与指定格式相符的数据。

Action()
{
    char s1[20],s2[4],s3[20];

    int n=atoi(lr_eval_string("{rand}"));//n从1开始取值      //int n=2;//n从1开始取值

    int i=0,l,y,m=0,k=0; int j=n-1;

    lr_output_message("s1原始:%s", s1);

    sscanf(lr_eval_string("{num}"),"%s",s1);//作用:将num参数的值,赋值给s1字符串,也可以用字符串连接函数

    sscanf(lr_eval_string("{rand}"),"%s",s2);

    lr_output_message("s1新值:%s", s1);

    while(s1[j]!=\'\\0\')//改if为while
    {
       s3[m]=s1[j];
       m++;
       j++;
    }
    s3[m] = \'\\0\';//加入字符串结束标识
       while(s2[i]!=\'\\0\')//改if为while
    {
           s1[n-1+i]=s2[i];
           i++;
    }

       l=n+i-1;
       while(s3[k]!=\'\\0\')//改if为while
       {
           s1[l]=s3[k];
           k++;
           l++;
       }
   s1[l] = \'\\0\';//加入字符串结束标识

   lr_output_message("s1最终:%d", atoi(s1));

   return 0;
}

 

方法2:个人更新换脚本2

int Action()
{ //char s[10]="222222"; //长度为6,i的取值只能为0-6
  //int i = 3;
  char s[10];
  int i = atoi(lr_eval_string("{rand}"));
  char *ss,*p,*ch; int j;

  sscanf(lr_eval_string("{num}"),"%s",s);

  lr_output_message("%s",s);

  p = s;
  ss = (char *)malloc(20);
  ch = ss;

  for(j = 0;j <strlen(s)+2;j++)
  {
    if(i == j)
    {
      *ss = \'A\';
      ss++;
    }
    else
    {
    *ss = *p;
    ss++;
    p++;

    }
  }

  ss++;

  *ss =\'\\0\' ;

  lr_output_message("%s",ch);

}

 

以上是关于需求:lr需要在一串数字中随机位置插入一个新数字的实现方式的主要内容,如果未能解决你的问题,请参考以下文章

Python:从一串数字中删除随机空格[重复]

为啥在一串数字中每三位加一个逗号,就像1,234,567.01这样有何作用?

数组380. 常数时间插入删除和获取随机元素

输入一串随机数字,然后按千分位输出。

输入一串随机数字,然后按千分位输出。

取一串数字并插入 + 和 - 运算符