int i,j,n,m,max,min;
char a[20];
char b[20];
scanf("%s %s",a,b);
min=0;
max=0;
n=strlen(a);
for(i=1;a[i]!='\0';i++)
{
if(a[i]<a[min])
{
min=i;
}
}
for(i=1;i!='\0';i++)
{
if(b[i]>b[max])
{
max=i;
}
}
for(j=n+1;j>min+1;j--)
{
a[j]=a[j-1];
}
a[min+1]=b[max];
printf("%s",a);
/*********End**********/
return 0;
}
第一,对字符数组初始化
第二,改变输入法,用cin代替
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
int main()
{
int i, j, n, m, max, min;
char a[20]= {'0'};//要初始化
char b[20]= {'0'};
//scanf_s("%s%s", &a,&b);
cin >> a;//输入法改用cin
cin >> b;
min = 0;
max = 0;
n = strlen(a);
m = strlen(b);
for (i = 1;i<n; i++)
{
if (a[i] < a[min])
{
min = i;
}
}
for (i = 1;i<m; i++)
{
if (b[i] > b[max])
{
max = i;
}
}
for (j = n; j > min + 1; j--)
{
a[j] = a[j - 1];
}
a[min + 1] = b[max];
printf_s("%s", a);
/*********End**********/
return 0;
}