| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 427 人关注过本帖
标题:求教数组排序 每排一次输出一次 不知哪里出错了
只看楼主 加入收藏
A1102029952
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2013-6-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
求教数组排序 每排一次输出一次 不知哪里出错了
#include <stdio.h>
#define  SIZE  10
void main()
{   int a[SIZE]={2,4,6,8,10,12,89,68,45,37};
    int i, j, k, numberofcomp = 0 , temp;  /*numberofcomp存放两两比较的次数,temp用做交换的临时变量*/
    printf("data items  in  original  order\n");
    for(i=0 ; i<SIZE; i++)
        printf("%4d", a[i]);
printf("\n");
/*补充程序,完成冒泡算法,输出格式参见上面(1)部分的输出结果*/
   for(i=0;i<9;i++)
   {for(j=0;j<9;j++)
       {if(a[j]>a[j+1])
               temp=a[j];a[j]=a[j+1];a[j+1]=temp;}
   printf("after pass %d :",i);
   for(k=0;k<=9;k++)
       printf(" %d",a[k]);
   printf("\n");
   }
    printf("\n data  items  in ascending  order\n");
    for(i=0 ; i<SIZE ; ++i)
        printf("%4d", a[i]);
    printf("\n number of comparisons = %d\n", numberofcomp);
 }
搜索更多相关主题的帖子: include original 
2013-11-26 16:25
pink_duo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:209
专家分:1054
注 册:2013-11-5
收藏
得分:20 
if(a[j]>a[j+1])
   {
       temp=a[j];a[j]=a[j+1];a[j+1]=temp;
   }

if如果缺省花括号,只能执行一个分号的语句

[ 本帖最后由 pink_duo 于 2013-11-26 17:11 编辑 ]

埋头做牛,抬头做人,低头做狗
2013-11-26 17:10
pink_duo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:209
专家分:1054
注 册:2013-11-5
收藏
得分:0 
根据你实现的功能
程序代码:
for(j=0;j<9;j++)
        {
           if(a[j]>a[j+1])
           {
               temp=a[j];a[j]=a[j+1];a[j+1]=temp;
               numberofcomp++;
           }
        }

埋头做牛,抬头做人,低头做狗
2013-11-26 17:13
A1102029952
Rank: 1
等 级:新手上路
帖 子:18
专家分:8
注 册:2013-6-10
收藏
得分:0 
哇 真的行 放到一行就当成一个句子了,谢谢
2013-11-26 17:15
pink_duo
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:209
专家分:1054
注 册:2013-11-5
收藏
得分:0 
不客气

埋头做牛,抬头做人,低头做狗
2013-11-26 17:18
快速回复:求教数组排序 每排一次输出一次 不知哪里出错了
数据加载中...
 
   



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

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