编写程序,用户输入n个(n<100)字符串(每个字符串长度小于100),按照字典顺序将字符串进行排序,并输出。要求在排序中使用指针数组完成。
【输入说明】
输入第一行是一个整数数字,表示n,接下来有n行字符串,表示待排序字符串。
【输出说明】
输出有n行字符串,表示排序后的结果
【输入样例】
3
there is an apple.
Smith
have a try
【输出样例】
have a try
Smith
there is an apple.
代码实现
#include<stdio.h>
#include<string.h>
voidrule(char(*s)[100],intn);
intmain()
{
intn;
scanf("%d",&n);
getchar();
chars[n][100];
for(inti=0;i<n;i++)
{
gets(s[i]);
s[i][strlen(s[i])]='\0';
}
rule(s,n);
for(intk=0;k<n;k++)
puts(s[k]);
return(0);
}
voidrule(char(*s)[100],intn)
{
inti,j;
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(strcmp(s[j+1],s[j])<0)
{
chart[100]={0};
strcpy(t,s[j]);
strcpy(s[j],s[j+1]);
strcpy(s[j+1],t);
}
}
}
}