第1个回答 2010-06-02
//在主函数中输入10个的字符串,用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串
#include<stdio.h>
#define N 100
void sort(char *s[],int n);
#include<iostream>
#include<string>
using namespace std;
main()
{
char *s[10];
char a[10][N];
int i;
printf("请输入10个的字符串\n");
for(i=0;i<3;i++)
{
s[i]=a[i];
printf("输入第%d个字符串:",i+1);
scanf("%s",s[i]);
}
printf("排序之前的10个等长的字符串为:\n");
for(i=0;i<3;i++)
printf("%s\n",*(s+i));
sort(s,3);
printf("排序之后的输出如下:\n");
for(i=0;i<3;i++)
printf("%s\n",*(s+i));
system("pause");
}
void sort(char *s[],int n)//从小到大排列
{
char *t;
int i;
for(i=0;i<n-1;i++)
for(int j=0;j<n-1-i;j++)
if(strcmp(s[j],s[j+1])>0)
{
t=s[j];s[j]=s[j+1];s[j+1]=t;
}
}