| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 699 人关注过本帖
标题:去掉最大值和最小值该怎么办
只看楼主 加入收藏
梓薰
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-5-16
结帖率:100%
收藏
已结贴  问题点数:18 回复次数:7 
去掉最大值和最小值该怎么办
#include <iostream>
#include<string>
using namespace std;
struct Student
{
    char namescore[3][5];
}stu;
int main()
{
    string a;
    Student stu[3];
    int i,j;
    float average,t;
    float score[15];
    int n,sum,max,min;
    max=0;
    min=0;
    sum=0;
    for(i=1;i<=3;i++)
    {
        cout<<"Competitor"<<i<<":";
        cin>>a;
        for(j=1;j<=5;j++)
        {
            cout<<"Jury"<<j<<"'s score:";
            cin>>score[j];
            cout<<endl;
        }
    }
    for(i=1;i<=3;i++)
    {
        for(j=1;j<=5;j++)
        {
        
            if(score[j]>max)
            {
                max=score[j];
            }
            if(score[j]<min)
            {
                min=score[j];
            }
            sum+=score[j];
        }
        }
   
    return 0;
}
这个程序代码只是能够输入人名以及成绩 ,想要在输入成绩之后每一位选手去掉最高分和最低分求平均值怎么办
搜索更多相关主题的帖子: average include 最大值 
2014-06-04 01:40
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
又是學過C之後來碰C++的?一看那個結構定義就知道這程序毀了,人也差不多毀了。

授人以渔,不授人以鱼。
2014-06-04 02:38
梓薰
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-5-16
收藏
得分:0 
回复 楼主 梓薰
你猜错了 没学过c  但是人毁了是真的
2014-06-04 08:27
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:18 
程序代码:
#include <iostream>
#include <string>

struct Student
{
    std::string name;
    float scores[5];
    float avg;
};

using namespace std;

int main()
{
    Student stu[3];

    const size_t stu_cnt = sizeof(stu)/sizeof(stu[0]);
    const size_t scr_cnt = sizeof(stu[0].scores)/sizeof(stu[0].scores[0]);

    for( size_t i=0; i!=stu_cnt; ++i )
    {
        cout << "Competitor" << (i+1) << ": ";
        cin >> stu[i].name;
        for( size_t j=0; j!=scr_cnt; ++j )
        {
            cout << "Jury" << (j+1) << "'s score: ";
            cin >> stu[i].scores[j];
        }
    }

    for( size_t i=0; i!=stu_cnt; ++i )
    {
        float maxval = stu[i].scores[0];
        float minval = stu[i].scores[0];
        float sumval = stu[i].scores[0];

        for( size_t j=1; j!=scr_cnt; ++j )
        {
            if( stu[i].scores[j] < minval )
                minval = stu[i].scores[j];
            if( stu[i].scores[j] > maxval )
                maxval = stu[i].scores[j];
            sumval += stu[i].scores[j];
        }

        stu[i].avg = (sumval-maxval-minval)/(scr_cnt-2);

        cout << stu[i].name << " : " << stu[i].avg << endl;
    }

    return 0;
}
2014-06-04 09:12
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
例子:

Competitor1: foo
Jury1's score: 5
Jury2's score: 4
Jury3's score: 3
Jury4's score: 2
Jury5's score: 1
Competitor2: bar
Jury1's score: 1
Jury2's score: 2
Jury3's score: 3
Jury4's score: 4
Jury5's score: 5
Competitor3: baz
Jury1's score: 2
Jury2's score: 1
Jury3's score: 3
Jury4's score: 5
Jury5's score: 4
foo : 3
bar : 3
baz : 3
2014-06-04 09:12
梓薰
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-5-16
收藏
得分:0 
回复 4 楼 rjsp
帅呆了  万分感谢  
2014-06-04 09:39
gobraves
Rank: 2
等 级:论坛游民
帖 子:46
专家分:16
注 册:2013-8-3
收藏
得分:0 
回复 4 楼 rjsp
这代码写得好漂亮
2014-06-04 14:50
梓薰
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2014-5-16
收藏
得分:0 
回复 4 楼 rjsp
const size_t stu_cnt = sizeof(stu)/sizeof(stu[0]);
    const size_t scr_cnt = sizeof(stu[0].scores)/sizeof(stu[0].scores[0]);
这两行是干啥用的呀  没看懂~~~(原谅我是个学渣渣)我把所有的stu_cnt改成了3   scr_cnt改成了5也对
2014-06-04 16:58
快速回复:去掉最大值和最小值该怎么办
数据加载中...
 
   



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

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