c语言:输入一个字符和一个字符串 a(长度不超过 100),将字符插入到 a串中最小字符的后面。
时间: 2023-12-03 07:47:30 浏览: 79
以下是用 C 语言编写的代码,实现将一个字符插入到字符串 a 中最小字符的后面:
```c
#include <stdio.h>
#include <string.h>
int main() {
char c, a[101];
int i, pos = -1, len;
printf("请输入一个字符:");
scanf("%c", &c);
getchar(); // 消耗掉输入缓冲区中的回车符
printf("请输入一个字符串:");
gets(a);
len = strlen(a);
for (i = 0; i < len; i++) {
if (pos == -1 || a[i] < a[pos]) {
pos = i;
}
}
if (pos == -1) {
a[len] = c;
} else {
a[len + 1] = '\0';
for (i = len; i > pos + 1; i--) {
a[i] = a[i - 1];
}
a[pos + 1] = c;
}
printf("插入后的字符串为:%s\n", a);
return 0;
}
```
首先,我们使用 `scanf` 函数读入一个字符,然后使用 `getchar` 函数消耗掉输入缓冲区中的回车符。
接着,我们使用 `gets` 函数读入一个字符串 a,并使用 `strlen` 函数获取其长度。
然后,我们遍历字符串 a,找到最小字符的位置 pos。如果字符串 a 中没有字符,则将新字符直接放在字符串 a 的末尾。
否则,我们需要将新字符插入到字符串 a 中最小字符的后面。为了方便插入操作,我们先将字符串 a 的长度加 1,并在字符串 a 的末尾添加一个空字符 '\0'。
接着,我们从字符串 a 的末尾开始,依次将每个字符向后移动一位,直到最小字符的位置 pos 后面的位置。
最后,我们将新字符插入到字符串 a 中最小字符的后面,输出插入后的字符串即可。
阅读全文