请教c语言输入三门课程的英文名称,要求按字典顺序排序?

来源:百度知道 编辑:UC知道 时间:2024/05/19 00:04:59

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define N 3
#define LONG 20

void MyCmp(char *x[N]);

void main()
{
char *a[N];
int i;

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]);
}
}

void MyCmp(char *x[N])
{
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],x[j+1]);