一道c语言程序题: 输入5个字符串,按字典顺序将其重新排列输出。用字符串指针实现。

来源:百度知道 编辑:UC知道 时间:2024/06/23 13:04:33

#include<stdio.h>
#include<string.h>
void main()
{
void sort(char (*p)[20]);
char a[5][20];//五行20列
int i;
printf("请输入5个字符串:\n");
for(i=0;i<5;i++)//这里输入五个字符串
gets(a[i]);
sort(a);//调用函数进行排列

}

void sort(char (*p)[20])
{
char a[20];
int i,j;
for(i=0;i<4;i++)//这里把每一行看做一个元素五个要进行4次比较
for(j=0;j<20;j++)//这里是上下相邻的两行之间对应元素进行比较
{
if(p[i][j]>p[i+1][j])//遇到上行大于交换上下两行
{
strcpy(a,p[i]);
strcpy(p[i],p[i+1]);
strcpy(p[i+1],a);
}
break;
}
printf("五个串按从小到大排列如下:\n");
for(i=0;i<5;i++)
puts(p[i]);
printf("\n");

}

编译过的,还有不懂可以直接问我
#include <stdio.h>
#include <string.h>

void sort(char * str[],int size)
{
int i,j;
char * tmp;
for(i=0;i<size-1;i++)
{
for(j=i