标题:冒泡排列哪里错了。
只看楼主
july1983
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-4-29
得分:0 
循环控制有问题,改成:
for(j=1;j<N;j++)
 for(i=1;i<=N-j;i++)
 {
  ..........
 }

2005-08-19 18:27
非主流
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2005-5-29
得分:0 
我把2楼的改好了。错误不在他的冒泡错了,而是,他的变量都定义错了
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define  MAX 10
void main(void)
{
int Num[MAX],i,j,temp;
for(i=0;i<MAX;i++)
{
  printf("请输入第%d个数:",i);
  scanf("%d",&Num[i]);
}
for(i=0;i<MAX-1;i++)
{
  for(j=MAX-1;j>i;j--)
  {
   if( Num[j] > Num[j-1] )
   {
    temp = Num[j];
    Num[j] = Num[j-1];
    Num[j-1] = temp;
   }
  }
}
printf("第一次排序的结果为:\n");
for(i=0;i<MAX;i++)
{
  printf("%3d ",Num[i]);
}
printf("\n");
}

2005-08-19 21:22



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




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

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