设计一个算法将两个字符串合并按字母排序

来源:互联网 发布:手机助手网络共享 编辑:程序博客网 时间:2024/06/05 13:22

问题:给定两个字符串,设计一个算法将两个字符串合并按字母排序输出?

解决方法:

1-先扫描2个字符串,统计相应字符的数量

2-赋值给另一个数组,并输出;

代码:

#include<stdio.h>int main(){    char *p1 = "heheaABABACDS";    char *p2 = "oouu";    unsigned a[58] = {0};    char c[100];    int temp = 0;    while(*p1 != '\0')    {    temp = (((*p1) - 'A' ) % 58);        a[temp]++; //统计频率        p1++;    }    while(*p2 != '\0')    {         temp = (((*p2) - 'A' ) % 58 ) ;        a[temp]++; //统计频率        p2++;    }    int i=0 , j = 0;   #if 1    for(i = 0 ; i < 58 ; i++ )    {        while(a[i]) //输出相应的个数        {            printf("%c",(i+'A')); //输出字符            a[i]--;            c[j] = (i+'A') ; //保存到数组C中            j++; //C数组下标        }    }    #endifprintf("\n");for(i=0;i<j;i++) //验证C数组是佛存储了2个合并的集合    printf("%c",c[i]);    return 1;}


0 0
原创粉丝点击