| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 731 人关注过本帖
标题:冒泡法问题。帮帮忙看下
只看楼主 加入收藏
dshiok
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2008-12-5
收藏
 问题点数:0 回复次数:4 
冒泡法问题。帮帮忙看下
#define n 10
main(){
int a[n],i,j,l;
for(i=1;i<=n;i++)
scanf("%d",a[i]);
for(j=1;j<=n-1;j++)
for(i=1;i<=n-j;i++)
if(a[i]>a[i+1]) {l=a[i];a[i]=a[i+1];a[i+1]=l;}
for(i=1;i<=n;i++) printf("%d,",a[i]);
}
这个程序是从小排到大。但是我输入10 9 8 7 6 5 4 3 2 1
最终运行果却是 2,3,4,5,6,7,8,9,10,3,
实在搞不懂为什么为这样。谁来帮我解释下啊。谢了
搜索更多相关主题的帖子: 冒泡 
2008-12-12 14:32
hellson
Rank: 2
来 自:北京
等 级:新手上路
威 望:4
帖 子:195
专家分:0
注 册:2008-9-1
收藏
得分:0 
程序代码:
#define n 10
main(){
int a[n],i,j,l;
for(i=0;i<n;i++)
    scanf("%d",&a[i]);
for(j=0;j<n-1;j++)
for(i=0;i<n-j;i++)
if(a[i]>a[i+1]) {l=a[i];a[i]=a[i+1];a[i+1]=l;}
for(i=0;i<n;i++) printf("%d ",a[i]);
getch();
}


int a[10];// 从a[0]-a[9]
scanf("%d",&a[i]);// 注意&

春了夏了秋冬了,来了来了又来了
相信我的帖子打开都很快,看我头像就知道了
2008-12-12 15:01
guoming1232006
Rank: 2
等 级:新手上路
威 望:4
帖 子:438
专家分:0
注 册:2008-11-20
收藏
得分:0 
还有,楼主进行宏定义是,最好把#define n 10  这里的n 写成大写字母N。

寡人有疾,寡人好色......
2008-12-12 15:54
dshiok
Rank: 1
等 级:新手上路
帖 子:66
专家分:0
注 册:2008-12-5
收藏
得分:0 
回复 第2楼 hellson 的帖子
嗯。谢谢了啊
2008-12-12 16:12
CANNON
Rank: 1
来 自:北京
等 级:新手上路
帖 子:17
专家分:0
注 册:2008-7-22
收藏
得分:0 
看看这个呢
for(int j=n; j>0; j--)
    {
        for(int i=0; i<j; i++)
        {
            if(a[i]>a[i+1])
            {
                t=a[i];
                a[i]=a[i+1];
                a[i+1]=t;
            }
        }
    }
2008-12-13 12:22
快速回复:冒泡法问题。帮帮忙看下
数据加载中...
 
   



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

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