问题及代码:
/*计算机与控制工程学院。
文件名称:在主函数中输入n(n<=10)个等长的字符串。用另一函数对它们排序。然后在主函数输出这n个已排好序的字符串。
输入描述:n和n个字符串
输出描述:n个已排好序的字符串
完成日期:2016年4月24
作者:马艳艳*/
#include<stdio.h>
#include<string.h>
void sort(char p[][80],int k)
{
int i,j;
char temp[100];
for(i=0;i<k-1;i++)
{
for(j=i+1;j<k;j++)
if(strcmp(p[i],p[j])>0)//strcmp来比较字符串的大小,前大于后返回正值,反之返回负值;
{
strcpy(temp,p[i]);//strcpy时复制函数,用这个函数来实现字符串位置的交换;
strcpy(p[i],p[j]);
strcpy(p[j],temp);
}
}
}
int main()
{
void sort(char [][80],int );
int i;
char str[10][80];
int n;
scanf("%d",&n);
for (i=0; i<n; i++)
scanf("%s",str[i]);
sort(str,n);
for (i=0; i<n; i++)
printf("%s\n",str[i]);
return 0;
}
运行结果: