good juice 2019-11-08 12:53 采纳率: 100%
浏览 374
已采纳

大一新生 学校oj上的问题 实在不知道哪里错了 大佬们能帮我解决一下吗?

#include<stdio.h>
#include<string.h>
int main()
{
    int len2,len1,i,max,n;
    while(scanf("%d",&n)!=EOF)
    {
        char s1[2000]={0},s2[1000]={0};
        gets(s1);
        gets(s2);
        len1=strlen(s1);
        max=0;
        for(i=1;i<len1;i++)//寻找一串字符中最大的字符 
        {
            if(s1[i]>s1[max])
            max=i;
        }
        len2=strlen(s2);
        for(i=len1-1;i>=max+1;i--)//将s1字符串中最大字符后面的字符移动len2个位置 
        {
            s1[i+len2]=s1[i];
        }
        for(i=max+1;i<=max+len2;i++)//将s2中的字符插入到s1当中 
        {
            s1[i]=s2[i-max-1];
        }
        puts(s1);
    }
    return 0;
}

问题:给定两个字符串s和t,在s字符串中的最大字符后边插入字符串t。
输入:测试数据有多组,每组包含两个字符串s和t,分别占两行,均不超过100个字符。
输出:对于每组测试数据,输出插入后的新字符串,单独占一行。若有多个最大字符,则插在第一个之后。
我试了很多组数据都对了(用的dev c++),但是在学校的oj上还是wa

  • 写回答

2条回答

  • buazrl 2019-11-08 15:58
    关注

    程序有错误,当第一个字符串以数字开头时,结果会错。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料