| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 508 人关注过本帖
标题:任意数组气泡排列问题求教!!万分感谢!!!
取消只看楼主 加入收藏
人莫予毒
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-12-20
结帖率:100%
收藏
已结贴  问题点数:15 回复次数:1 
任意数组气泡排列问题求教!!万分感谢!!!
任意输入一个数组,然后按从小到大的顺序排列的程序,
改了几次总是还有问题,麻烦哪位帮帮忙吧,看看哪里错了。
主要问题是应该是中间循环的部分吧?最后输出时总是有一个数输出2次,导致a[1]或者a[10]的值不对。。
万分感谢!!!!
#define PI 10
#include "stdio.h"
main()
{
  int a[PI],i,n,transition;
  printf("\nPlease input array of %d numbers\n",PI);
  for(i=1;i<=PI;i++)
  {
    printf("a[%d]=",i);
    scanf("%d",&a[i]);
  }
  for(i=1;i<=PI;i++)
    for(n=PI;n>1;n--)
    if(a[n]<a[n-1])
    {transition=a[n];a[n]=a[n-1];a[n-1]=transition;}
  printf("the sorted numbers is\n");
  for(i=1;i<=PI;i++)
  {
  printf("a[%d]=%d    ",i,a[i]);
  if(i%5==0) printf("\n");
  }
}

[ 本帖最后由 人莫予毒 于 2010-12-23 20:31 编辑 ]
搜索更多相关主题的帖子: include transition numbers 
2010-12-23 20:22
人莫予毒
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2010-12-20
收藏
得分:0 
我把程序改成这样就好了。为什么要定义成[PI+1]呢???请教各位。
就是为什么a[1]到a[10]的数组要定义成a[11]呢?
我是刚刚学的。。请大伙指点一下。。
{
  int a[PI+1],i,n,transition;
  printf("\nPlease input array of %d numbers\n",PI);
  for(i=1;i<(PI+1);i++)
  {
    printf("a[%d]=",i);
    scanf("%d",&a[i]);
  }
2010-12-23 21:24
快速回复:任意数组气泡排列问题求教!!万分感谢!!!
数据加载中...
 
   



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

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