大佬看看哪里错了 题目描述:输入两个字符串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;
}

1个回答

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

#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;
}

aysu999
aysu999 能不能在看下我这个哪里错了,为什么读的a【1】的最小值是换行? 还有如果不加 a[0][n+1]='\0'; 这句的话怎么会出现一行那些繁体字?
7 个月之前 回复
aysu999
aysu999 大哥你这个大致是对的n++放错位置了
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐