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
#include <stdio.h>
#include <string.h>
int main(void)
{
char a[102],b[101],c[101],amin,bmax;
int t=0,m=0,j=0;
scanf("%s",&a);
scanf("%s",&b);
amin=a[0];
bmax=b[0];
m=strlen(a);
for(int i=0;a[i]!=’\0’;i++)
{
if(amin>a[i])
{
amin=a[i];
t=i;
}
}
for(int i=0;b[i]!=’\0’;i++)
{
if(bmax<b[i])
{
bmax=b[i];
}
}
for(int i=0;i<=t;i++)
{
printf("%c",a[i]);
}
printf("%c",bmax);
for(int i=t+1;a[i]!='\0';i++)
{
printf("%c",a[i]);
}
/*********End**********/
return 0;
}