【C语言】输入两个字符串a和b,将b串中的最大字符插入到a串中最小字符后面(可以告诉我哪里出问题了吗)

2024-12-29 15:12:36
推荐回答(1个)
回答1:

#include
#include
int main()
{
 char a[101], b[100];
 int i = 0, j = 0, min, max, x, y;
 min = 0;//min在下面(if (a[i] max = 0;//初始化
 gets(a);
 gets(b);
 x = strlen(a);
 y = strlen(b);
 for (i = 0; i {
  if (a[i]   min = i;
 }
 for (j = 0; j {
  if (b[j]>b[max])
   max = j;
 }
 
 for (i = x; i >min; i--)//for循环注意其语句执行先后顺序,判断条件语句(i >min),
 {                       //满足之后先执行for循环体语句(a[i] = a[i-1];),再执行i--。
  a[i] = a[i-1];      
 } 
 if (min == x)
  a[i] = b[max];//这里原程序直接把整数max赋给了a[i]
 else
 {
  a[i +1] = b[max];
 }
 a[x + 1] = '\0';//在字符串最后添加字符串结束符
 puts(a);
 while (1);
}

根据你的思路,改好程序后帮你把根本上的错误注释上了