标题:C语言冒泡问题我做了几遍都不行
取消只看楼主
专打小拉拉啊
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-12-6
结帖率:50%
已结贴  问题点数:20 回复次数:1 
C语言冒泡问题我做了几遍都不行
#include<stdio.h>
main()
{
   int a[10],i,j,t;
   for(i=0;i<10;i++)
      scanf("%d",&a[i]);
   for(i=0;i<9;i++)
   for(j=0;j<10;j++)
   {   
        if(a[i]>a[j+1])
        t=a[i];
        a[i]=a[j+1];
        a[j+1]=t;
        }   for(i=0;i<10;i++)
     {  printf("%d",a[i]);}
}               
输入10个数为什么不能按输入的数从小到大排列啊
搜索更多相关主题的帖子: C语言 冒泡 
2010-12-07 13:29
专打小拉拉啊
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-12-6
得分:0 
回复 5楼 laoyang103
我按你这样改了但我输入0 9 8 7 6 5 4 3 2 1 得到的是1 2 3 4 5 6 7 8 9 72 输入10 11 12 13 14 15 16 17 18 19 得到的却是19 72 72 72 72 72 72 72 72 72 为什么这样?代码如下
#include<stdio.h>
main()
{
   int a[10],i,j,t;
   for(i=0;i<10;i++)
      scanf("%d",&a[i]);
   for(j=0;j<9;j++)
   for(i=0;i<9-j;i++)
   {   
        if(a[i]>a[i+1])
        t=a[i];
        a[i]=a[i+1];
        a[i+1]=t;
        }   for(i=0;i<10;i++)
     {  printf("%d",a[i]);}
}  
2010-12-08 22:53



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-328225-1-1.html




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

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