2301_80630928 2023-12-25 17:36 采纳率: 16.7%
浏览 4

多次随机插入字符串该怎么改正

多次随机插入字符串该怎么改正

gets(word);
    printf("请输入您要随机插入的次数:");
    scanf("%d",&n);
    lenth=i;//无\0,不能用strlen 
    ch[i]='\0'; //here:既然不能用不能用strlen,当然也不能用strcpy,加这个就可以了
    strcpy(ch1,ch);
    len=strlen(word);
    srand(time(NULL)); //使数据更随机 
   for(j=0;j<n;j++)
    {
        pos=rand()%lenth+1;
        printf("随机位置:%d",pos);
        printf("\n"); 
        for(i=0;i<lenth+len+len*j;i++)
        {
            if(i<pos)//未到插入位置 
            {
                chh[i]=ch1[i];
            }
            else if(i<pos+len)
            {
                chh[i]=word[i-pos];//把word插入 
            }
            else//超出范围 
            {
                chh[i]=ch1[i-len];
            } 
        }
    }
    for(i=0;i<lenth+len*n;i++)
    {
        printf("%c",chh[i]);
    } 

  • 写回答

2条回答 默认 最新

  • 编程乐学 2023-12-25 18:53
    关注

    1.在循环开始之前,需要将chh数组初始化为空字符串,以确保每次循环都是从空字符串开始插入。

    2.在每次循环结束后,需要将chh数组的内容复制回ch1数组,以便下一次循环可以在上一次的基础上进行插入。

    3.在最后的循环中,应该输出chh数组的内容,而不是ch数组的内容。

    评论

报告相同问题?

问题事件

  • 创建了问题 12月25日

悬赏问题

  • ¥30 靶向捕获探针设计软件包
  • ¥15 react-diff-viewer组件,如何解决数据量过大卡顿问题
  • ¥20 遥感植被物候指数空间分布图制作
  • ¥15 安装了xlrd库但是import不了…
  • ¥20 Github上传代码没有contribution和activity记录
  • ¥20 SNETCracker
  • ¥15 数学建模大赛交通流量控制
  • ¥15 为什么我安装了open3d但是在调用的时候没有报错但是什么都没有发生呢
  • ¥50 paddleocr最下面一行似乎无法识别
  • ¥15 求某类社交网络数据集