您的位置:首页 > 其它

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

2014-08-13 10:40 274 查看
问题:给定两个字符串,设计一个算法将两个字符串合并按字母排序输出?

解决方法:

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数组下标
}
}
#endif
printf("\n");
for(i=0;i<j;i++) //验证C数组是佛存储了2个合并的集合
printf("%c",c[i]);

return 1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c printf 合并 算法 设计
相关文章推荐