| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 342 人关注过本帖
标题:帮忙解决一下啊~~
只看楼主 加入收藏
z249250344
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-9-21
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
帮忙解决一下啊~~
一个简单的程序 就是给是10个人的成绩排序 不知道出了什么毛病 运行不了  
#include<fstream>
using namespace std;

#define N 10

ifstream inf("in1.txt");
ofstream ouf("out1.txt");

struct stu
{
    char name[20];
    int score;
};

int main()
{
    int i,j,temp;
    stu a[10];
    for(i=0;i<N-1;i++)
    inf>>a[i].name>>a[i].score;
    for(i=0;i<N-1;i++)
    for(j=i+1;j<N;j++)
       if(a[j].score>a[i].score)
       {temp=a[i].score;
        a[i].score=a[j].score;
        a[j].score=temp;}
        for(i=0;i<N;i++)
   ouf<<a[i].name<<" "<<a[i].score<<endl;
    }
请大家帮忙检查一下
2010-09-21 19:53
洪溪
Rank: 2
等 级:论坛游民
帖 子:42
专家分:34
注 册:2010-9-7
收藏
得分:20 
你的第一个循环里的不应是N-1;而是N

我改成这样后可以运行了,你可以拿去参考一下:
#include<iostream>
using std::cout;
using std::cin;
using std::endl;
#define N 3
struct stu
{
    char name[20];
    int score;
};

int main()
{
    int i,j,temp;
    stu a[N];

    for(i=0;i<N;i++)
    {
        cin>>a[i].name;
            cin>>a[i].score;
    }

    for(i=0;i<N-1;i++)
        for(j=i+1;j<N;j++)
            if(a[j].score>a[i].score)
            {
                temp=a[i].score;
                a[i].score=a[j].score;
                a[j].score=temp;
            }
        for(i=0;i<N;i++)
        {
            cout<<a[i].name<<" "<<a[i].score<<endl;
        }
        return 0;
    }


注意第一个和最后一个循环体要加大括号:
2010-09-21 22:23
快速回复:帮忙解决一下啊~~
数据加载中...
 
   



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

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