C语言题目:输入10本书的名称(每个名字不超过20个字符),输入完毕后按书名排序并输出

如题所述

第1个回答  2009-04-09
给:
#include<stdio.h>
#include<string.h>
void main()
{
char (*name)[10]=new char[10][10];
void sort(char (*name)[10]);
void print(char (*name)[10]);
int i;
printf("请输入10本书的名称,每输入一个用回车隔开:\n");
for(i=0;i<10;i++)
scanf("%s",name+i);
sort(name);
print(name);
}

void sort(char (*name)[10])
{ char temp[10];
int i,j;
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
{
if(strcmp(name[j],name[j+1])>0)
{ strcpy(temp,name[j]);//复制串应该用int strcpy(*a,*b);
strcpy(name[j],name[j+1]);
strcpy(name[j+1],temp);
}
}
}
void print(char (*name)[10])
{
int i;
printf("排序结果为:\n");
for(i=0;i<10;i++)
printf("%d %s\n",i+1,name[i]);
}
第2个回答  2009-04-08
字符数组、本回答被提问者采纳
相似回答