在主函数中输入6个人的姓名(用二维数组定义),然后调用函数,把这6个人按名称拼音顺序排序,形参要用到指向一维数组的指针变量。然后在主函数中按序输出出来。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void swap(char *p1,char *p2){
char p[20]; //这边要记得定义一个临时指针
strcpy(p,p1);
strcpy(p1,p2);
strcpy(p2,p);
}
int main(){
char str[6][20]; //自定义的数组数值是我随意定的
int i=0;
int j=0;
int len = 6;
printf("请输入六行:\n");
for(i=0;i<6;i++)
{
gets(str[i]);
}
for (i=0; i<len-1; ++i)
{
for (j=0; j<len-1-i; ++j)
{
if (strcmp(str[j],str[j+1])>0) // >表示升序 <表示降序
{
swap(str[j],str[j+1]);
}
}
}
printf("Now,the order is:\n");
for(i=0;i<6;i++)
{
printf("%s\n",str[i]);
}
return 0;
}