题目:在主函数输入10个等长的字符串,用另一函数对他们排序,然后在 主函数输出这10个已经排好序的字符串。
首先通过指针数组的形式输入这十个字符串,然后利用冒泡排序的方法进行排序,用字符串比较函数来比较字符串大小,最后在主函数中将排序好的字符串打印出来
#include<stdio.h>
#include<assert.h>
#include<string.h>
void My_sort(const char *arr[10])
{
assert(arr != NULL);
const char* tmp;
for (int i = 0; i < 9; i++)
{
for (int j = i + 1; j < 10; j++)
{
if (strcmp(arr[i], arr[j]) == 1)
{
tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
}
}
for (int i = 0; i < 10; i++)
printf("%s ", arr[i]);
printf("\n");
}
int main()
{
const char* arr[10] = {"acas","xyze","fdxc","asdf","abcd","qwer","abcc","sdef","asda","ascv" };
My_sort(arr);
for (int i = 0; i < 10; i++)
printf("%s ", arr[i]);
printf("\n");
return 0;
}
输出结果示例: