问题遇到的现象和发生背景
MynameisAmy
MynameisJane
此输入数组所得结果正确 MynameisAymy
/MynameisAmyxzxca
MynameisJanesdcx/
此输入数组结果错误,为 MynameisAdmyxzxca
所得到的最大值变成13,即d,而不是y 正确:MynameisAymyxzxca
问题相关代码,请勿粘贴截图
#include <stdio.h>
#include <string.h>
#include<stdlib.h>
int main(void)
{
/*********Begin*********/
int i,j,m=0,n=0;
char a[100],b[100];
int max=0,min=0;
gets(a);
gets(b); //输入得到两个数组
m=strlen(a); //得到数组a【】的长度,为后加入b【】的最大值铺垫
n=strlen(b);
/*printf("%d\n",m);
printf("%d\n",n);*/
for(i=0;i<m;i++){
if(a[min]>a[i]){
min=i;
}
} //得到数组a【】的最小值
/*printf("%d\n",min);
printf("%d\n",i);*/
for(j=0;j<n;j++){
if(b[max]<a[j]){
max=j;
}
} //得到数组b【】的最大值
/*printf("%d\n",max);
printf("%d\n",b[max]);*/
for(i=m+1;i>min;i--){ //将a【】长度加一
a[i]=a[i-1]; // 将元素往后排
}
a[i+1]=b[max]; //循环结束到达a【】,插入b【max】
puts(a);
/*********End**********/
return 0;
}
```c
/MynameisAmyxzxca
MynameisJanesdcx/
/*题目描述:输入两个字符串a和b,将b串中的最大字符插入到a串中最小字符后面。
运行结果及报错内容
MynameisAymy
MynameisAdmyxzxca
无报错
我的解答思路和尝试过的方法
改过字符输入方法,改过循环结束条件
我想要达到的结果
MynameisAymyxzxca