请帮忙编程,急用,谢谢! 给定一组字符串(不含空格),按照字典序(从小到大)排序以后输出
来源:百度知道 编辑:UC知道 时间:2024/05/05 20:01:39
若干行(少于100),每行一个字符串(不含空格),每个字符串最大长度80
排序以后的结果,每行一个字符串
例如:Sample Input
Marry
Tom
John
Sample Output
John
Marry
Tom
用C语言
排序以后的结果,每行一个字符串
例如:Sample Input
Marry
Tom
John
Sample Output
John
Marry
Tom
用C语言
已经编译运行确认过:
#include<stdio.h>
#include<conio.h>
#include <string.h>
#include <stdlib.h>
#define LONG 80
int N;
void MyCmp(char **x);
void main()
{
char *a[80];
int i;
printf("请输入要排序的字符串数目(不超过100):");
scanf("%d",&N);
for(i=0;i<N;i++) //初始化
{
a[i]=(char *)malloc(LONG);
}
for(i=0;i<N;i++) //输入
{
printf("第%d个字符串:",i+1);
scanf("%s",a[i]);
}
MyCmp(a); //排序
for(i=0;i<N;i++) //输出
{
printf("%s\n",a[i]);
}
getch();
}
void MyCmp(char **x)
{
int i,j;
char *temp=(char *)malloc(LONG);
for(i=0;i<N-1;i++)
{
for(j=0;j<N-1-i;j++)
{
if(strcmp(x[j],x[j+1])>0)
{
strcpy(temp,x[j]);
strcpy(x[j