zoukankan      html  css  js  c++  java
  • c++字符串排序

    11:在主函数中输入10个等长的字符串,用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。

    用两种方法完成。

    方法一:用二维数组做函数参数;

    方法二:用指向一维数组的指针做函数参数。

    方法一:二维数组:

    #include<iostream>

    #include<string.h>

    using namespace std;

    int main()

    {

    char str[10][20];

    cout<<"input 10 strings in the same length:"<<endl;

    for(int i=0;i<10;i++)cin>>str[i];

    void sort(char [10][20]);

    sort(str);

    cout<<"now the sorted strings are:"<<endl;

    void print(char [10][20]);

    print(str);

    return 0;

    }

    void sort(char a[10][20])

    {

    for(int i=0;i<10;i++)

    {int k=i;char t[20];

    for(int j=i;j<10;j++)

    if(strcmp(a[j],a[k])<0)

    {

    strcpy(t,a[j]);strcpy(a[j],a[k]);strcpy(a[k],t);

    }

    }

    }

    void print(char a[10][20])

    {

    for(int j=0;j<10;j++)cout<<a[j]<<endl;

    }

    运行结果:

     

    方法二:用指向一维数组的指针做函数参数

    #include<iostream>

    #include<string.h>

    using namespace std;

    int main()

    {

        char (*p)[10];char ch[10][10];

        cout<<"input 10 strings:"<<endl;

        for(int i=0;i<10;i++)cin>>ch[i];

        p=ch;

        void sort(char (*)[10]);

        sort(p);

        cout<<"now the strings are:"<<endl;

        for(int j=0;j<10;j++)cout<<p[j]<<endl;

        return 0;

    }

    void sort(char (*p)[10])

    {

        for(int i=0;i<10;i++)

    {int k=i;char t[10];

    for(int j=i;j<10;j++)

    if(strcmp(p[j],p[k])<0)

    {

    strcpy(t,p[j]);strcpy(p[j],p[k]);strcpy(p[k],t);

    }

    }

    }

    运行结果:

     

  • 相关阅读:
    SQLSERVER Tempdb的作用及优化
    sqlserver分区表索引
    Install the mongdb
    mysql常用参数监控
    Mysql由浅入深
    nginx配置文件优化
    ping主机不通邮件报警
    top结果解释
    了解MQ
    kafka安装部署
  • 原文地址:https://www.cnblogs.com/linruier/p/9485221.html
Copyright © 2011-2022 走看看