题目:
3. 字符串排序
【设计要求】
(1)编写程序,读入10个字符串,按由小到大的顺序输出;
(2)定义排序函数void sort(char content[][80], int n)完成给定的n个字符串的排序;
【输入格式】
输入为由空格分隔的10个非空字符串,每个字符串不包括空格、制表符、换行符等空白字符,长度小于80。
【输出格式】
按照以下格式输出排序后的结果:
After sorted:
每行一个字符串
【输入样例】
red orange yellow green blue purple white black grey pink
【输出样例】
After sorted:
black
blue
green
grey
orange
pink
purple
red
white
yellow
我的代码
#include<stdio.h>
#include<string.h>
void sort(char content[][80],int n);
int main()
{
int i;
char a[10][80];
for(i=0;i<10;i++)
scanf("%s",&a[i][80]);
sort(a,10);
printf("After sorted:\n");
for(i=0;i<10;i++)
{
printf("%s",a[i][80]);
printf("\n");
}
return 0;
}
void sort(char content[][80],int n)
{
char temp;
int i,j,k;
int u=strcmp(const char content[j][80],const char content[i][80]);
for(i=0;i<n-1;i++)
{
k=i;
for(j=1;j<n;j++)
if(u>0)k=j;
if(k!=i)
{
temp=content[i][80];
content[i][80]=content[k][80];
content[k][80]=temp;
}
}
}