键盘输入三个字符串,编写嵌套函数,对三个字符串进行由小到大排序,并输出排序结果。请问有没有人能帮忙解答一下呢,下面是具体要求
1)在主函数中获取键盘输入三个字符串到 str[3][80]中.
2)将数组名作为参数传递给函数 1,函数 1 的功能是实现排序。
3)在函数 1 中,进行串的两两比较时,将两个串名作为参数传递给函数 2,函数 2 的功能是比较大小,并将小串前置,如 str[0]与 str[1]比较后,str[0]为较小的串。
4)在主函数中按照顺序输出排序结果
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
void swap(char* i, char* index)
{
char temp[80];
strcpy(temp, i);
strcpy(i, index);
strcpy(index, temp);
}
void sort(char str[][80])
{
//简单选择排序
int i, j, index;
for (i = 0;i < 3;i++)
{
int index = i;
for (j = i + 1;j < 3;j++)
{
if (strcmp(str[i], str[j]) > 0)
index = j;
}
if (i != index)
swap(str[i], str[index]);
}
}
int main()
{
char str[3][80];
int i, j;
for (i = 0;i < 2;i++)
{
printf("输入字符串:");
scanf("%s", str[i]);
}
sort(str);
for (i = 0;i < 3;i++)
printf("%s", str[i]);
return 0;
}
学到了,谢谢兄弟!