用数组实现从键盘输入字符串a和字符串b,并在a串中的最小元素(不含结束符)后面插入字符串b。
时间: 2024-05-14 08:19:50 浏览: 68
下面是用C语言实现从键盘输入字符串a和字符串b,并在a串中的最小元素(不含结束符)后面插入字符串b的代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LEN 100
int main() {
char a[MAX_LEN], b[MAX_LEN];
int len_a, len_b, min_idx;
printf("请输入字符串a:");
fgets(a, MAX_LEN, stdin);
printf("请输入字符串b:");
fgets(b, MAX_LEN, stdin);
len_a = strlen(a);
len_b = strlen(b);
min_idx = 0;
for (int i = 1; i < len_a; i++) {
if (a[i] < a[min_idx]) {
min_idx = i;
}
}
// 在a串的最小元素后面插入b串
memmove(a + min_idx + len_b, a + min_idx, len_a - min_idx); // 移动a串的元素
memcpy(a + min_idx + 1, b, len_b - 1); // 复制b串的元素
len_a += len_b - 1;
printf("插入后的字符串a:%s", a);
return 0;
}
```
上述代码中,使用`fgets()`函数从键盘输入字符串a和字符串b,然后使用`strlen()`函数获取a和b的长度。接着,使用循环遍历a串中的元素,找到最小元素的下标。最后,使用`memmove()`函数移动a串的元素,然后使用`memcpy()`函数将b串的元素复制到a串的最小元素后面。
阅读全文