不等长字符串排序

来源:互联网 发布:淘宝退款一般多久到账 编辑:程序博客网 时间:2024/04/30 07:38

Description

在主函数中输入n(n<=10)个不等长的字符串。用另一函数对它们排序。然后在主函数输出这n个已排好序的字符串。

Input

nn个不等长字符串

Output

n个已排好序的字符串

Sample Input

5
abcd
12345678
abc
123456
ab123

Sample Output

123456
12345678
ab123
abc
abcd

HINT

主函数已给定如下提交时不需要包含下述主函数
/* C++
代码 */
int main()
{
    void sort(char *[],int n);
    int i;
    char str[10][80];
    char *p[10];
    int n;
    cin>>n;
    for (i=0; i<n; i++)
        cin>>str[i];
    for (i=0; i<n; i++)
        p[i]=str[i];
    sort(p,n);
    for (i=0; i<n; i++)
        cout<<p[i]<<endl;
    return 0;
}

#include <iostream>#include <string>using namespace std;void sort(char b[][80],int k);int main(){void sort(char [][80],int );int i;char str[10][80];int n;cin>>n;for (i=0; i<n; i++)cin>>str[i];sort(str,n);for (i=0; i<n; i++)cout<<str[i]<<endl;return 0;}void sort(char b[][80],int k){int i,j;char t[80];char (*a)[80]=b;for(i=0;i<k-1;i++)for(j=0;j<k-1-i;j++)if(strcmp(*(a+j),*(a+j+1))>0){    strcpy(t,*(a+j)); strcpy(*(a+j),*(a+j+1)); strcpy(*(a+j+1),t);}}


0 0
原创粉丝点击