| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 334 人关注过本帖
标题:请高手帮忙找解释下
只看楼主 加入收藏
zd1505675319
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:178
注 册:2011-11-4
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:4 
请高手帮忙找解释下
#include <iostream.h>
#include <string.h>
const int MAX= 2;
struct stu
    {
        int num;
        char name[20];
        float height;
    }Stu[MAX];
void Sort(stu (&Stu)[MAX])
{    int j;
    stu temp;
    for( j=0; j<MAX-1; j++)
    {
        for(int n=j+1; n<MAX; j++)
        {
            if(Stu[j].height > Stu[n].height)    //此处我设置断点 j怎么等于691呢
            {
                temp= Stu[j];
                Stu[j]= Stu[n];
                Stu[n]= temp;
            }
        }
    }
}

int main(void)
{

    for(int i=0; i<MAX; i++)
    {
        cout<<"请输入第"<<i+1<<"个人的资料";
        cin>>Stu[i].num >>Stu[i].name >>Stu[i].height;
    }
    Sort(Stu);
    cout<<"排序后为";
    for(int j=0; j<MAX; j++)
    {
        cout<<Stu[j].num<<"\t"<<Stu[j].name<<"\t"<<Stu[j].height<<endl;
    }
    return 0;
}
搜索更多相关主题的帖子: 691 void include 断点 
2012-04-17 20:42
Wikyo_hoho
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:31
专家分:188
注 册:2012-3-12
收藏
得分:15 
程序代码:
void Sort(stu (&Stu)[MAX])
{  
    int j;
    stu temp;
    for( j=0; j<MAX-1; j++)
    {
        for(int n=j+1;n<MAX;n++)//这里的j++导致无限循环且越界
        {
            if(Stu[j].height > Stu[n].height)    //此处我设置断点 j怎么等于691呢
            {
                temp= Stu[j];
                strcpy(temp.name,Stu[j].name);
                Stu[j]= Stu[n];
                strcpy(Stu[j].name,Stu[n].name);
                Stu[n]= temp;
                strcpy(Stu[n].name,temp.name);
            }
        }
    }
}
2012-04-17 21:06
姚杰
Rank: 6Rank: 6
等 级:侠之大者
威 望:1
帖 子:169
专家分:477
注 册:2010-6-1
收藏
得分:5 
struct stu
    {
        int num;
        char name[20];
        float height;
    }Stu[MAX];

这个是结构体,定义学生的基本变量。。这个你应该懂的,我就不多说了。。。。。。

---------------------------------------------------------------------
void Sort(stu (&Stu)[MAX])
{    int j;
    stu temp;
    for( j=0; j<MAX-1; j++)
    {
        for(int n=j+1; n<MAX; j++)
        {
            if(Stu[j].height > Stu[n].height)    //此处我设置断点 j怎么等于691呢
            {
                temp= Stu[j];
                Stu[j]= Stu[n];
                Stu[n]= temp;
            }
        }
    }
}

这个函数用的是是冒泡排序,被主函数调用。。。。你可以详细看下冒泡排序,不是很难的,书上网上都有的

-------------------------------------------------------------------------------------------------------------------

最后就是主函数了,你这个程序是3个数的排序吧,你可以把他弄成10个数,或者更多。。..而且我感觉这个程序好像有小点问题,但是我也没运行过。



[ 本帖最后由 姚杰 于 2012-4-17 21:56 编辑 ]

持之以恒,别留遗憾,加油
2012-04-17 21:54
zd1505675319
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:178
注 册:2011-11-4
收藏
得分:0 
回复 2楼 Wikyo_hoho
怎么会越界呢?
2012-04-18 09:31
zd1505675319
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:139
专家分:178
注 册:2011-11-4
收藏
得分:0 
回复 2楼 Wikyo_hoho
知道了。。。我粗心了。。。谢谢了
2012-04-18 09:32
快速回复:请高手帮忙找解释下
数据加载中...
 
   



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

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