我敲代码敲到晕头转向啦,求助求助啊~

来源:4-14 结束语句之break语句

qq_酸涩的糖葫芦_0

2015-11-19 08:06

4. 让用户输入学生的人数n,然后输入这n个学生的语文成绩,保存在数组中。然后分别计算输出:

(1)统计语文成绩平均分。

(2)不及格的学生序号及成绩、并统计不及格人数。

(3)最高分的成绩及最高分的学生的序号。


写回答 关注

1回答

  • AAnonymous
    2015-11-19 15:09:54
    已采纳
    // bug: 多个最高分只记录了一个
    #include <iostream>
    #include <map>
    using namespace std;
    int main()
    {
    	int N; std::cin >> N;
    	int *score = new int[N];
    	int sum = 0;
    	float average = 0.0;
    	map<int, int> failMap;
    	int highest[2] = { 0 };
    	for (int i = 0; i < N; ++i) {
    		cin >> score[i];
    		sum += score[i];
    		if(score[i]>highest[1]){
    			highest[0] = i;
    			highest[1] = score[i];
    		}
    		if(score[i] < 60){
    			failMap.insert(make_pair(i, score[i]));
    		}
    	}
    	average = static_cast<float>(sum) / static_cast<float>(N);
    
    	cout << "(1)语文成绩平均分" << endl;
    	cout << average << endl;
    	cout << "(2)不及格学生序号及成绩" << endl;
    	for (auto x : failMap)
    		cout << "序号:" << x.first << " 成绩:" << x.second << endl;
    	cout << "不及格人数:" << failMap.size() << endl;
    	cout << "(3)最高分学生序号及成绩" << endl;
    	cout << "序号:" << highest[0] << " 成绩:" << highest[1] << endl;
    
    	return 0;
    }


    qq_酸涩的...

    非常感谢!

    2015-11-19 20:13:24

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926027 学习 · 20793 问题

查看课程

相似问题

求助大家啦

回答 2

大神求助啦

回答 2

求助啊

回答 1

求助啊.......

回答 1

求助求助求

回答 4