希望大家一起讨论
#include<stdio.h>
#include<string.h>
void main()
{char ss[5][10]={0};//这里字符数组SS的大小自己可定,最好弄个宏定义比较方便
char sb[10]={0};//这里大小10与SS的列数10一定要一一对应
char *p[5]={NULL};//初始化指针(很重要的)
char *q;
int i,j;
puts("输入5个字符串!")
for(i=0;i<5;i++)
{gets(ss[i]);
p[i]=ss[i];//让指针数组元素指向SS数组的每一行
}
for(i=0;i<5;i++)
puts(p[i]);//主要作为验证你的输入,此语句可以删除
for(i=0;i<4;i++)
{q=p[i];
for(j=i+1;j<5;j++)
if(strcmp(q,p[j])<0)
{strcpy(sb,q);strcpy(q,p[j]);strcpy(p[j],sb);}
}//这是一个类似于排序法的语句,结构很固定
puts("排序后:");
for(i=0;i<5;i++)
puts(ss[i]);
}
此程序缺陷是比较死板,不能想输入多少对字符串就输入多少,必须与数组SS的大小相符! 希望大家给点建议!