• 合并字符串(c++)


    【问题描述】
    编写一个函数char * str_bin(char* str1, char* str2), str1、str2是两个有序字符串(其中字符按ASCII码从小到大排序),
    将str2合并到字符串str1中,要求合并后的字符串仍是有序的,允许字符重复。
    在main函数中测试该函数:从键盘输入两个有序字符串,然后调用该函数,最后输出合并后的结果。

    【输入形式】
    分行从键盘输入两个有序字符串(不超过100个字符)

    【输出形式】
    输出合并后的有序字符串

    【输入样例】
    aceg
    bdfh

    【输出样例】
    abcdefgh

    思路:
    先把两个字符串合并成一个,再进行排序

    代码:

    #include <iostream>
    #include <cstring>
    using namespace std;
    char * str_bin(char* str1, char* str2);
    void sort(char * str);//排序
    int main()
    {
        char str1[100],str2[50];
        char * str;
        cin>>str1>>str2;
        str=str_bin(str1,str2);
        sort(str);
        cout<<str;
    }
    
    char * str_bin(char* str1, char* str2)
    {
        strcat(str1,str2);//把str2的内容连接到str1的后面
        return str1;//返回str1指针
    }
    
    void sort(char * str)
    {
        //选择排序法
        for(int i=0;i<(int)strlen(str)-1;++i)//注意strlen前面要加int进行强制类型转换,不然编译器一直警告
        {
            int index=i;
            for(int j=i+1;j<(int)strlen(str);++j)
                if(str[index]>str[j])
                    index=j;
            if(index!=i)
            {
                int temp=str[index];
                str[index]=str[i];
                str[i]=temp;
            }
        }
    }
    
  • 相关阅读:
    mysql #与$的区别
    linux连接mysql
    19年春第十三周学习
    第二阶段冲刺-02
    第二阶段冲刺-01
    19年春第十二周学习
    第一阶段SCRUM冲刺-10
    第一阶段SCRUM冲刺-09
    第一阶段SCRUM冲刺-08
    19年春第十一周学习
  • 原文地址:https://www.cnblogs.com/yuzilan/p/10626170.html
Copyright © 2020-2023  润新知