大佬看看哪里错了 题目描述:输入两个字符串a和b,将b串中的最大字符插入到a串中最小字符后面。

#include
int main()
{
int i,j=0,n=0;
char a[1][30],max,min;
fgets(a[0],29,stdin);
fgets(a[1],29,stdin);
min = a[0][0];
max = a[1][0];
for (i=0;a[0][i]!='\0';i++)
{
if ( min < a[0][i])
{
min = a[0][i];
j = i;
}
n++;
}
for (i=0;a[1][i]!='\0';i++)
if ( max > a[1][i])
max = a[1][i];
a[0][n+1]='\0';
for (i=n;i > (j+1);i--)
a[0][i]=a[0][i-1];
a[0][j+1] = max;
printf("%s",a[0]);
while(1);
return 0;
}

问题解决的话,请点下采纳

#include <stdio.h>
#include <stdlib.h>
int main()
{
    int i, n=0;
    char a[2][30],max,min;
    fgets(a[0],29,stdin);
    fgets(a[1],29,stdin);
    max = 0;
    min = 0;
    for (i=0;a[1][i]!='\0';i++)
    {
        if (a[1][max] < a[1][i]) 
        {
            max = i;
        }
        n++;
    }
    for (i=0;a[0][i]!='\0';i++)
        if (a[0][min] < a[0][i]) 
            min = i;
    a[0][n+1]='\0';
    for (i=n;i >= min;i--)
        a[0][i]=a[0][i-1];
    a[0][min-1] = a[1][max];
    printf("%s",a[0]);
    system("pause");
    return 0;
}