| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 415 人关注过本帖
标题:请问一个排序题
取消只看楼主 加入收藏
wymyhome
Rank: 1
等 级:新手上路
帖 子:29
专家分:4
注 册:2009-7-8
结帖率:84.21%
收藏
已结贴  问题点数:20 回复次数:0 
请问一个排序题
(论坛 不能 附加图片了?) 我放在附件里面 题目

[local]1[/local]

  答案的 红色部分是这样的  为什么我写的那种 用起泡法排序运行结果却和这个不一样?请问我出错在什么地方了啊
    for (i=0; i<cnt-1; i++)
        for (j=i+1; j<cnt; j++)
            if (b[i] > b[j])
            {
                k = b[i];
                b[i] = b[j];
                b[j] = k;
            }


这个是我写的,主要是红色部分,


#include <stdio.h>
#define  MAX 200
int  a[MAX], b[MAX], cnt = 0;
void jsVal()
{
    int  i, j;
    int  a1, a2, a3, a4, k;
    for (i=0; i<MAX; i++)
    {
        a1 = a[i]/1000;
        a2 = a[i]%1000/100;
        a3 = a[i]%100/10;
        a4 = a[i]%10;
        if ((a1 <= a2) && (a2 <= a3) && (a3 <= a4) && (a[i]%2 == 0))
        {
            b[cnt] = a[i];
            cnt++;
        }
    }
for(j=0;j<cnt-1;j++)
  for(i=0;i<cnt-j;i++)
      if(b[i]>b[i+1])
      {k=b[i];
      b[i]=b[i+1];
      b[i+1]=k;
      }

}
void readDat()
{
    int  i;
    FILE  *fp;
    fp = fopen("IN.DAT", "r");
    for (i=0; i<MAX; i++)
        fscanf(fp, "%d,", &a[i]);
    fclose(fp);
}
void writeDat()
{
    FILE  *fp;
    int  i;
    fp = fopen("OUT.DAT", "w");
    fprintf(fp, "%d\n", cnt);
    for (i=0; i<cnt; i++)
        fprintf(fp, "%d\n", b[i]);
    fclose(fp);
}
void main()
{
    int  i;
    readDat();
    jsVal();
    printf("满足条件的数=%d\n", cnt);
    for (i=0; i<cnt; i++)
        printf("%d ", b[i]);
    printf("\n");
    writeDat();
}
搜索更多相关主题的帖子: include 图片 
2009-09-16 21:39
快速回复:请问一个排序题
数据加载中...
 
   



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

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