C语言字符串处理:输入 第一行和第二行分别输入两个字符串s1和s2,第三行输入插入位置f。 每个字符串的长度不超过100个字符。 输出 输出一行插入后的字符串。
时间: 2023-12-14 22:35:41 浏览: 130
以下是一个实现此功能的C程序:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 100
int main() {
char s1[MAX_LENGTH + 1], s2[MAX_LENGTH + 1];
int f, i, j;
// 读取输入
fgets(s1, MAX_LENGTH + 1, stdin);
fgets(s2, MAX_LENGTH + 1, stdin);
scanf("%d", &f);
// 移除字符串末尾的换行符
s1[strcspn(s1, "\n")] = '\0';
s2[strcspn(s2, "\n")] = '\0';
// 将s2插入到s1的f位置
for (i = 0, j = 0; s2[j] != '\0'; i++, j++) {
if (i == f) {
printf("%s", s2);
i--;
} else {
printf("%c", s1[i]);
}
}
// 输出剩余的s1
printf("%s\n", &s1[i]);
return 0;
}
```
这个程序首先读取输入字符串s1和s2。然后,它使用`scanf`函数读取插入位置f。接下来,它使用`strcspn`函数从每个字符串中移除末尾的换行符。
最后,程序将字符串s2插入到字符串s1的f位置。它通过迭代两个指针i和j来实现这一点,分别指向s1和s2。当i等于f时,它输出s2,然后将i减1以使下一个字符在正确的位置插入。否则,它输出s1的下一个字符。程序在循环结束后输出s1中剩余的字符。
阅读全文