1.选择排序法
#include<stdio.h>#include<string.h>void input(char name[][20]){int i = 0;for (i = 0; i < 5; i++){printf("请开始输入%d个名字: ", i + 1);gets(name[i]);}}void output(char name[][20]){int i = 0;for (i = 0; i < 5; i++){printf("%s\n", name[i]);}}void function(char name[][20]){char str[20] = { 0 };int i, j;int t;for (i = 0; i < 5; i++){t = i;strcpy(str, name[i]);for (j = i + 1; j < 5; j++){if (strcmp(str, name[j]) < 0){t = j;strcpy(str, name[j]);}}if (t != i){strcpy(str, name[i]);strcpy(name[i], name[t]);strcpy(name[t], str);}}}int main(){char name[5][20];input(name);printf("\n原排序的名字:\n");output(name);function(name);printf("\n升序后的名字:\n");output(name);return 0;}
2.冒泡排序法