当前位置: 代码迷 >> C语言 >> C语言菜鸟找你帮忙
  详细解决方案

C语言菜鸟找你帮忙

热度:135   发布时间:2005-04-28 22:50:00.0
C语言菜鸟找你帮忙
有一题
编写程序 实现从键盘上输入两个字符串,将它们合并后,按ASCII码从小到大排序在屏幕输出
,相同的字符仅输出一次。

我是先将两个字符串连接,然后冒泡排序,
最后不知道 相同的字符仅输出一次 将如何实现呢  

这题还有别的方法吗??????????代码 谢啦
搜索更多相关的解决方案: C语言  

----------------解决方案--------------------------------------------------------
把你的算法贴出来吧
让大家看看你的是哪里出了问题
----------------解决方案--------------------------------------------------------

//编写程序 实现从键盘上输入两个字符串,将它们合并后, //按ASCII码从小到大排序在屏幕输出, //相同的字符仅输出一次。

#include <stdio.h> #include <string.h> #include <stdlib.h>

#define MAXSTRINGSIZE 100

void sort(char arry[],int n); void output(char arry[],int n);

void sort(char arry[],int n) { int i,j,k; char temp; for(i=0;i<n;i++) { k=i; for(j=i+1;j<n;j++) { if(arry[j]<arry[k]) k=j; } if(k!=i) { temp=arry[k]; arry[k]=arry[i]; arry[i]=temp; } } }

void output(char arry[],int n) { int i,j; int counter; for(i=0;i<n;) { printf("%5d",arry[i]); counter=1; for(j=i+1;j<n;j++) { if(arry[i]==arry[j]) { counter++; } else { break; } } i=i+counter; } printf("\n"); }

void main() { char str1[MAXSTRINGSIZE]; char str2[MAXSTRINGSIZE]; char *str; int string_1_length; int string_2_length; int string_length; puts("please enter the first string:"); gets(str1); puts("please enter the second string:"); gets(str2); string_1_length=strlen(str1); string_2_length=strlen(str2); str=(char *)malloc((string_1_length+string_2_length+1)*sizeof(char)); if(!str) exit(2); strcpy(str,str1); strcat(str,str2); string_length=strlen(str); sort(str,string_length); output(str,string_length); }


----------------解决方案--------------------------------------------------------
不明白呀
太复杂了
----------------解决方案--------------------------------------------------------
以下是引用leishendyg在2005-5-11 19:43:35的发言: 不明白呀 太复杂了
这还算复杂??? 哎~~~ 真没想法了~~~~~
----------------解决方案--------------------------------------------------------
我想说个大概

----------------解决方案--------------------------------------------------------
就是用一个数组储存连两个字符串
在输入时就比较它们是否相同然后放进数组
再作比较大小应该会简单点
----------------解决方案--------------------------------------------------------
偶给个思路,,不知道可行不??? 1.输入两个字符串 2.用str***(想不起来怎么写了!@_@!)连接 3.冒泡排序 4.用strchr()查找,看有想同的字符没有. 5.输出
----------------解决方案--------------------------------------------------------
同意7楼朋友的做法.
----------------解决方案--------------------------------------------------------
以下是引用Srin在2005-5-13 5:38:41的发言: 偶给个思路,,不知道可行不??? 1.输入两个字符串 2.用str***(想不起来怎么写了!@_@!)连接 3.冒泡排序 4.用strchr()查找,看有想同的字符没有. 5.输出
行不通!
----------------解决方案--------------------------------------------------------
  相关解决方案