| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 284 人关注过本帖
标题:c++问题
只看楼主 加入收藏
huangyu0
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2009-9-29
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:2 
c++问题
有一程序:
统计评分 。统计处最高分 最低分 以及排除最高分最低分之后算出平均分、、
请教各位大大要怎么写?。。
请给个思路 比如说要调用几个函数==的、、
拜托了 谢谢。
搜索更多相关主题的帖子: 统计 
2009-09-29 21:33
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
收藏
得分:20 
可以构造一个类,
类中有一个数组存放所有输入的分数
int count,first,last,aver分别存放分数的个数,最高分,最低分,平均分
再定义一个读取函数,用于从键盘读取数据
           一个计算最高分的函数
           一个计算最低分的函数
           一个计算平均分的函数


可以参考下面的代码:
#include<iostream>
using namespace std;
class mark
{
public:
    mark();
    void read();
    void print();
    int getFirst();
    int getLast();
    double getAver()const;
    void average();
private:
    int count;
    int *array;
    int first;
    int last;
    double aver;
};
mark::mark():count(0),first(0),last(0),aver(0){}
void mark::read()
{
    cout<<"请输入分数的个数:";
    cin>>count;
    array = new int[count];
    for(int i=0;i<count;i++)
        cin>>array[i];
}
void mark::print()
{
    cout<<"最高分为: "<<getFirst()<<'\n';
    cout<<"最低分为: "<<getLast()<<'\n';
    cout<<"平均分为: "<<getAver()<<'\n';
}
int mark::getFirst()
{
    int max=0;
    for(int i=0;i<count;i++)
        if(array[i]>max)
            max=array[i];
    first = max;
    return first;
}
int mark::getLast()
{
    int min=10000;
    for(int i=0;i<count;i++)
        if(array[i]<min)
            min =array[i];
    last = min;
    return last;
}
double mark::getAver()const
{
    return aver;
}
void mark::average()
{
    int sum =0;
    for(int i=0;i<count;i++)
        sum+=array[i];
    sum= sum - getFirst() - getLast();
    aver = sum *1.0/(count-2);
}
main(void)
{
    mark m;
    m.read();
    m.average();
    m.print();
}


你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2009-09-30 19:26
jolixiaoai
Rank: 2
等 级:论坛游民
帖 子:111
专家分:87
注 册:2009-5-13
收藏
得分:0 
呃……其实想法差不多。
不过你还可以选择先将数组里的元素排序,总分再去掉头尾分数就可以算平均分
当然,还要考虑最低、最高重分的情况哈
2009-10-02 15:11
快速回复:c++问题
数据加载中...
 
   



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

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