大一新生 学校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