设计程序,调用函数fun,实现用冒泡法对6个字符串按由小到大的顺序进行排序。
时间: 2023-04-03 18:03:09 浏览: 92
好的,这个问题可以回答。以下是代码实现:
```
#include <stdio.h>
#include <string.h>
void fun(char *str[], int n) {
int i, j;
char *temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (strcmp(str[j], str[j + 1]) > 0) {
temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
}
int main() {
char *str[] = {"hello", "world", "apple", "banana", "cat", "dog"};
int n = 6;
int i;
fun(str, n);
for (i = 0; i < n; i++) {
printf("%s ", str[i]);
}
printf("\n");
return 0;
}
```
输出结果为:apple banana cat dog hello world
希望能够帮到您!
相关问题
3) 编写程序调用函数fun,函数fun的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。编写主函数,输入输出在主函数中进行。
好的,这是一个关于编程的问题。可以回答。以下是代码示例:
#include <stdio.h>
#include <string.h>
void fun(char str[]) {
int len = strlen(str);
int i, j;
char temp;
for (i = 1; i < len; i++) {
temp = str[i];
j = i - 1;
while (j >= && str[j] > temp) {
str[j + 1] = str[j];
j--;
}
str[j + 1] = temp;
}
}
int main() {
char str[100];
printf("请输入字符串:");
scanf("%s", str);
fun(str);
printf("排序后的字符串为:%s\n", str);
return ;
}
编一个带有函数的程序。在main()函数中输入一个字符串(长度<20),调用函数fun用冒泡法将该字符串中的所有字符按ASCⅡ码升序排序,然后再输出排序后的字符串。
好的,请稍等片刻。
以下是程序代码:
```
#include <stdio.h>
#include <string.h>
void fun(char str[]) {
int len = strlen(str);
for (int i = 0; i < len - 1; ++i) {
for (int j = 0; j < len - 1 - i; ++j) {
if (str[j] > str[j + 1]) {
char temp = str[j];
str[j] = str[j + 1];
str[j + 1] = temp;
}
}
}
}
int main() {
char str[20];
printf("请输入一个长度不超过20的字符串:\n");
scanf("%s", str);
fun(str);
printf("排序后的字符串为:%s\n", str);
return 0;
}
```
您可以将以上代码复制到 C/C++ 编辑器中进行运行测试。 需要注意的是,输入字符串时不应超过20个字符,否则程序可能会出现异常。