| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 376 人关注过本帖
标题:帮帮忙看看我哪编错了
收藏  订阅  推荐  打印 
iamyangfan
Rank: 1
等级:新手上路
帖子:16
积分:260
注册:2004-8-26
帮帮忙看看我哪编错了

用冒泡法对6个字符串按由小到大的顺序进行排序。 冒泡排序:所谓“冒泡排序”,也称“起泡排序”或者“气泡排序”,是指这样的一种简单排序方法:若被排序的数组元素个数为N,可以对此数组做N-1次处理。在第k次(k=0, 1, …, N-1)处理时,需比较前N-k个元素,方法是:连续从前到后比较相邻的两个元素,如果后面的元素小于前面的元素,则将二者交换,否则不变。可见,每经过一次处理,至少此次被处理的N-k个元素中的最大元素被移到了本次处理的最后位置,而N-1次处理后就使所有的元素被排序

#include<stdio.h> void main() {char a[6]; int i,j,t; gets(a); for(i=0;i<5;i++) for(j=0;j<5-i;j++) if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } puts(a); }

执行结果总是多出来一个字符,经查证是a[6]的值,我不知道为什么会出现a[6].大家帮忙看看,谢了

搜索更多相关主题的帖子: 元素  void  冒泡  main  气泡  
2004-8-31 02:36
神vLinux飘飘
Rank: 12Rank: 12Rank: 12
等级:贵宾
威望:87
帖子:6085
积分:61226
注册:2004-7-17

很简单:你的t是个int变量。

更正:把int t; 换成 char t; 即可。

理由:因为int变量占用的是2字节,而char只占用1字节,错误就在这里产生。

[此贴子已经被作者于2004-08-31 10:21:05编辑过]


泛出微微的蓝色的光,像有生命般涌动着,闪烁着,平滑而优美,达到了机械和美学结合的最高境界,向一件艺术品一样,默默的展示着,寂寞而孤傲,只有宇宙才能证实它的存在,只有永恒可以于它并存
2004-8-31 10:19
sunwear
Rank: 1
等级:新手上路
帖子:34
积分:440
注册:2004-8-15

厉害
2004-8-31 10:41
iamyangfan
Rank: 1
等级:新手上路
帖子:16
积分:260
注册:2004-8-26

OK了,谢谢
2004-8-31 11:55
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.147338 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved