C++2) 从键盘输入字符串a和字符串b,并在a串中的最小元素(不含结束符)后面插入字符串b。
时间: 2024-05-06 16:20:09 浏览: 74
```c
#include <stdio.h>
#include <string.h>
int main() {
char a[100], b[100];
printf("请输入字符串a:");
gets(a);
printf("请输入字符串b:");
gets(b);
int len_a = strlen(a);
int min_index = 0;
for (int i = 1; i < len_a; i++) {
if (a[i] < a[min_index]) {
min_index = i;
}
}
// 将b插入到a串的最小元素后面
for (int i = len_a; i >= min_index + 1; i--) {
a[i + strlen(b)] = a[i];
}
for (int i = 0; i < strlen(b); i++) {
a[min_index + 1 + i] = b[i];
}
printf("插入后的字符串a:%s", a);
return 0;
}
```
运行示例:
```
请输入字符串a:apple
请输入字符串b:orange
插入后的字符串a:aporangeple
```
相关问题
用c++编程从键盘输入字符串a和字符串b,并在a串中的最小元素(不含结束符)后面插入字符串b
请看下面的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char a[100], b[100];
printf("请输入字符串a:");
fgets(a, 100, stdin); // 从键盘读入字符串a
printf("请输入字符串b:");
fgets(b, 100, stdin); // 从键盘读入字符串b
int min_idx = 0;
for (int i = 1; i < strlen(a); i++) {
if (a[i] < a[min_idx])
min_idx = i; // 找到最小元素的下标
}
for (int i = strlen(a) - 1; i >= min_idx; i--) {
a[i + strlen(b)] = a[i];
}
for (int i = 0; i < strlen(b); i++) {
a[min_idx + i + 1] = b[i];
}
printf("插入后的字符串a:");
puts(a); // 输出字符串a
return 0;
}
```
这段代码会先让你从键盘输入字符串a和字符串b,然后找到字符串a中最小的元素(不含结束符)的下标,再将字符串b插入到这个最小元素后面。最后输出插入后的字符串a。
注意,如果字符串a的长度已经等于100,这段代码会溢出导致程序崩溃。本代码未进行异常处理,使用时需要注意。
用c++写出从键盘输入字符串a和字符串b,并在a串中的最小元素(不含结束符)后面插入字符串b。
```c
#include <stdio.h>
#include <string.h>
int main() {
char a[100], b[100];
printf("请输入字符串a:");
scanf("%s", a);
printf("请输入字符串b:");
scanf("%s", b);
int len_a = strlen(a);
int min_index = 0;
char min_char = a[0];
for (int i = 1; i < len_a; i++) {
if (a[i] < min_char) {
min_index = i;
min_char = a[i];
}
}
for (int i = len_a; i >= min_index+1; i--) {
a[i + strlen(b)] = a[i];
}
for (int i = 0; i < strlen(b); i++) {
a[min_index + 1 + i] = b[i];
}
printf("插入后的字符串为:%s", a);
return 0;
}
```
阅读全文