字符插入
题目描述:输入两个字符串a和b,将b串中的最大字符插入到a串中最小字符后面。
输入
输入一段文字
输出
输入两个字符串a和b。
样例输入:
MynameisAmy
MynameisJane
样例输出:
MynameisAymy
提示:
字符串长度不超过100
解题思路及代码如下:
#include <stdio.h>
#include <string.h>//调用字符函数
#define m 100
#define c 100
int main() {
char a[m], b[c];
int i, n, k, max, min, n1, n2;//这里可以用注释写明变量的作用哦
以上为写明要调用的函数库和定义变量和数组部分
gets(a);
gets(b);//输入字符串
i = strlen(a);//计算字符串长度
min = a[0];
for (k = 0; k < i; k++) {
if (min > a[k]) {
min = a[k];
n1 = k;
}
}//查找最小字符
i = strlen(b);
max = b[0];
for (k = 0; k < i; k++) {
if (max < b[k]) {
max = b[k];
n2 = k;
}
}//查找最大字符
以上为数组输入字符串和用for遍历字符串以查找最小字符和最大字符并将它们的数组下标赋值给另一个变量。
注意:在执行for循环时切记不可将min,max的初赋值写进for循环
To:这里也可以用for将两个查找字符合并起来
k = a[n1 + 1];
a[n1 + 1] = b[n2];
for (n = (i = strlen(a)); n > n1 + 1; n--) {
a[n + 1] = a[n];
}
a[n1 + 2] = k;
puts(a);
return 0;
}
最后便是将最小字符插入到最大字符后面啦。
注意:切记不可将数组下标弄错
运行结果如下: