| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 294 人关注过本帖
标题:冒泡出现的问题
取消只看楼主 加入收藏
t1melost
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2010-12-6
结帖率:70%
收藏
已结贴  问题点数:10 回复次数:1 
冒泡出现的问题
题目要求:将输入的数组按从小到大输出。(输入以遇-222为结束标志)
出现的问题:输出数组后总是无缘出现一个0,且最大值消失。

#include <stdio.h>

#define maxNums 10000
#define endFlag -222

int save(int inputData[]);
void sort(int inputData[],int dataCount);
void prin(int inputData[],int dataCount);
int main(void)
{
    int inputData[maxNums] = {0}, dataCount;  
     dataCount=save(inputData);
    sort(inputData,dataCount);
    prin(inputData,dataCount);
   
    return 0;
}

int save(int inputData[])
{
    int i,m,dataCount=0;
    printf("Please input numbers:");
    for(i=0;i<maxNums;i++)
    {
        dataCount++;
        scanf("%d",&m);
        if(m!=-222)
            inputData[i]=m;
        else break;
    }
    return dataCount-1;
}
void sort(int inputData[],int dataCount)             \\经过昨晚的调试,所有子函数都成功,就在冒泡这出了问题,总是无缘出现0.
{
    int i,j,temp;
    for(i=0;i<dataCount;i++)
    for(j=0;j<dataCount-i;j++)
        if(inputData[j]>inputData[j+1])
            {
                temp=inputData[j];
                inputData[j]=inputData[j+1];
                inputData[j+1]=temp;
            }

}
void prin(int inputData[],int dataCount)
{
    int i;
    for(i=0;i<dataCount;i++)
    {    printf("%-6d",inputData[i]);
    if(((i+1)%6!=0)&&(i!=dataCount-1))
        printf(",");
    else    printf("\n");

}
}

[ 本帖最后由 t1melost 于 2011-6-15 10:35 编辑 ]
搜索更多相关主题的帖子: 无缘 最大值 return 
2011-06-15 10:33
t1melost
Rank: 1
等 级:新手上路
帖 子:22
专家分:3
注 册:2010-12-6
收藏
得分:0 
回复 2楼 hjywyj
最后面,从小到大排序
2011-06-15 17:20
快速回复:冒泡出现的问题
数据加载中...
 
   



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

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