| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1203 人关注过本帖
标题:C语言菜鸟找你帮忙
只看楼主 加入收藏
maxkaoyan2005
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-4-28
收藏
 问题点数:0 回复次数:10 
C语言菜鸟找你帮忙
有一题
编写程序 实现从键盘上输入两个字符串,将它们合并后,按ASCII码从小到大排序在屏幕输出
,相同的字符仅输出一次。

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

这题还有别的方法吗??????????代码 谢啦
搜索更多相关主题的帖子: C语言 
2005-04-28 22:50
流浪魂
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2005-4-21
收藏
得分:0 
把你的算法贴出来吧
让大家看看你的是哪里出了问题

何谓菜鸟?,呵呵,就是会吃菜的鸟。
2005-04-29 19:22
musicml
Rank: 1
等 级:新手上路
帖 子:273
专家分:0
注 册:2005-4-2
收藏
得分:0 

//编写程序 实现从键盘上输入两个字符串,将它们合并后, //按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); }


Every thing is possible.
2005-04-30 02:17
leishendyg
Rank: 1
等 级:新手上路
帖 子:58
专家分:0
注 册:2005-4-17
收藏
得分:0 
不明白呀
太复杂了

我的邮箱leishendyg@有事您说话....
2005-05-11 19:43
musicml
Rank: 1
等 级:新手上路
帖 子:273
专家分:0
注 册:2005-4-2
收藏
得分:0 
以下是引用leishendyg在2005-5-11 19:43:35的发言: 不明白呀 太复杂了
这还算复杂??? 哎~~~ 真没想法了~~~~~

Every thing is possible.
2005-05-11 22:47
happyocean
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-3-24
收藏
得分:0 
我想说个大概

2005-05-12 19:57
happyocean
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2005-3-24
收藏
得分:0 
就是用一个数组储存连两个字符串
在输入时就比较它们是否相同然后放进数组
再作比较大小应该会简单点

2005-05-12 19:59
Srin
Rank: 1
等 级:新手上路
帖 子:59
专家分:0
注 册:2005-5-11
收藏
得分:0 
偶给个思路,,不知道可行不??? 1.输入两个字符串 2.用str***(想不起来怎么写了!@_@!)连接 3.冒泡排序 4.用strchr()查找,看有想同的字符没有. 5.输出
2005-05-13 05:38
dragon311
Rank: 1
等 级:新手上路
帖 子:92
专家分:0
注 册:2005-3-27
收藏
得分:0 
同意7楼朋友的做法.

奋斗成就未来~~
2005-05-13 07:58
musicml
Rank: 1
等 级:新手上路
帖 子:273
专家分:0
注 册:2005-4-2
收藏
得分:0 
以下是引用Srin在2005-5-13 5:38:41的发言: 偶给个思路,,不知道可行不??? 1.输入两个字符串 2.用str***(想不起来怎么写了!@_@!)连接 3.冒泡排序 4.用strchr()查找,看有想同的字符没有. 5.输出
行不通!

Every thing is possible.
2005-05-13 13:13
快速回复:C语言菜鸟找你帮忙
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033893 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved