C语言:本关任务:输入一个字符和一个字符串 a(长度不超过 100),将字符插入到 a串中最小字符的后面。已给出:#include <string.h> #include<stdio.h> /********** Begin *********/ /********** End *********/ int main() { char a[100],c; scanf("%c%s",&c,a); fun(c,a); puts(a); return 0; }
时间: 2023-07-18 10:46:11 浏览: 48
C语言代码如下:
```c
#include <string.h>
#include <stdio.h>
/********** Begin *********/
void fun(char c, char a[]) {
int len = strlen(a);
int i, min_index = 0;
for (i = 0; i < len; i++) {
if (a[i] < a[min_index]) {
min_index = i;
}
}
for (i = len; i > min_index + 1; i--) {
a[i] = a[i - 1];
}
a[min_index + 1] = c;
}
/********** End *********/
int main() {
char a[100], c;
scanf("%c%s", &c, a);
fun(c, a);
puts(a);
return 0;
}
```
函数 fun 的实现思路是找到字符串 a 中 ASCII 码值最小的字符,然后将要插入的字符插入到该字符的后面。首先获取字符串 a 的长度,然后遍历整个字符串,寻找 ASCII 码值最小的字符的下标。找到该下标之后,从字符串的末尾开始,将每个字符向后移动一位,腾出位置给要插入的字符。最后将字符插入到 ASCII 码值最小的字符的后面。主函数中输入字符和字符串 a,调用函数 fun 将字符插入到字符串 a 中最小字符的后面,并输出处理后的字符串 a。