| 网站首页 | 业界新闻 | 群组 | 交易 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 222 人关注过本帖
标题:大佬们,这道题咋解啊
只看楼主 加入收藏
说句实话
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2018-11-24
结帖率:50%
  已结贴   问题点数:8  回复次数:3   
大佬们,这道题咋解啊
文件score.txt中有某班级40人的成绩,将文件中的成绩读取出来。
(1)对成绩进行排序,以5个一行在屏幕上输出。
(2)计算该班成绩的均方差:(最大值-最小值)/平均值 。
2018-12-20 19:58
billlgd
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2009-10-6
  得分:3 
作业要自己做
2018-12-21 10:44
xiahouxiaoxu
Rank: 1
等 级:新手上路
帖 子:1
专家分:3
注 册:2018-12-21
  得分:3 
2018-12-21 19:57
rohalloway
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:7
帖 子:86
专家分:405
注 册:2018-9-28
  得分:3 
lineNumber就是40,没有写死,文件路径需改成你自己的
程序代码:

#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;

bool readF(vector<int> &vec, int &lineNumber)
{
    int score = 0;
    ifstream infile;   //输入流
    infile.open("C:\\Users\\Ans\\Desktop\\score.txt", ios::in);

    if (!infile.is_open())
        return false;

    while (!infile.eof()) // 未结束一直读
    {
        infile >> score;
        vec.push_back(score);
        lineNumber++;
    }

    infile.close();

    return true;
}

int main()
{
    vector<int> v;
    int lineNumber = 0;
    readF(v, lineNumber);

    sort(v.begin(), v.end());

    int max = 0, min = 0, all = 0;
    for (int i = 0; i < v.size(); i++)
    {
        all += v[i];

        if (v[i] > max)
            max = v[i];

        if (v[i] < min)
            min = v[i];

        cout << v[i] << " ";

        if (!((i+1) % 5))
            cout << endl;
    }

    cout << (max - min) / (all / lineNumber) << endl;
 
    return 0;
}
2018-12-22 22:00







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

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