HUD 2023 求平均数

求平均成绩

Time Limit: 2000/1000 MS (Java/Others)????Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 61990????Accepted Submission(s): 14860

Problem Description

假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量。

?

?

Input

输入数据有多个测试实例,每个测试实例的第一行包括两个整数n和m,分别表示学生数和课程数。然后是n行数据,每行包括m个整数(即:考试分数)。

?

?

Output

对于每个测试实例,输出3行数据,第一行包含n个数据,表示n个学生的平均成绩,结果保留两位小数;第二行包含m个数据,表示m门课的平均成绩,结果保留两位小数;第三行是一个整数,表示该班级中各科成绩均大于等于平均成绩的学生数量。
每个测试实例后面跟一个空行。

?

?

Sample Input

2 2 5 10 10 20

?

?

Sample Output

7.50 15.00 7.50 15.00 1

?

?

题解:

#include <iostream>

#include<algorithm>

#include<cmath>

#include<string>

#include<cstdio>

#include<vector>

usingnamespacestd;

float datas[55][5];

?

int main() {

? ? int n,m;

? ? while (scanf("%d %d",&n,&m)!=EOF) {

? ? ? ? vector<bool> item_mask(n);

? ? ? ? for (int i=0; i<n; i++) {

? ? ? ? ? ? float sum=0;

? ? ? ? ? ? for (int j=0; j<m; j++) {

? ? ? ? ? ? ? ? scanf("%f",&datas[i][j]);

? ? ? ? ? ? ? ? sum+=datas[i][j];

? ? ? ? ? ? }

? ? ? ? ? ? if(i!=0) printf(" ");

? ? ? ? ? ? printf("%.2f",sum/m);

? ? ? ? }

? ? ? ? printf("\n");

?? ? ? ?

? ? ? ? for (int k=0;k<item_mask.size(); k++) {//初始化

? ? ? ? ? ? item_mask[k]=true;

? ? ? ? }

? ? ? ? for (int j=0; j<m;j++) {

? ? ? ? ? ? float sum=0;

? ? ? ? ? ? for(int i=0;i<n;i++)

? ? ? ? ? ? ? ? sum+=datas[i][j];

? ? ? ? ? ? if (j!=0) ? printf(" ");

? ? ? ? ? ? sum/=n;

? ? ? ? ? ? for(int i=0;i<n;i++)

? ? ? ? ? ? ? ? if(datas[i][j]<sum)//消除成绩低于平均数的人

? ? ? ? ? ? ? ? ? ? item_mask[i]=false;

? ? ? ? ? ? printf("%.2f",sum);

? ? ? ? }

? ? ? ? printf("\n");

? ? ? ? int count=0;

? ? ? ? for(int i=0;i<n;i++)

? ? ? ? ? ? count+=item_mask[i];

? ? ? ? printf("%d\n\n",count);//每个测试实例后面跟一个空行

? ? }

}

HUD 2023 求平均数,布布扣,bubuko.com

时间: 2024-12-25 12:44:29

HUD 2023 求平均数的相关文章

杭电2023 求平均成绩(及一些易见的错误)

链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=2023 首先,想说下,这题对我来说可能是一个阴影.因为在自己学校的程序竞赛中,这是第二题,当时自己没ac,结果那叫一个自卑啊!然后今天a题目的时候那种恐惧感又来了,很影响情绪.然后,自己现在完全通过自己的努力,但也用了起码3小时的纠错时间,将代码ac了.附上ac代码: #include <iostream> #include<math.h> #include <iomani

Hadoop阅读笔记(二)——利用MapReduce求平均数和去重

前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一年……我在博客园-_-#,希望用dt的代码燃烧脑细胞,温暖小心窝. 上篇<Hadoop阅读笔记(一)——强大的MapReduce>主要介绍了MapReduce的在大数据集上处理的优势以及运行机制,通过专利数据编写Demo加深了对于MapReduce中输入输出数据结构的细节理解.有了理论上的指导,仍

poj 1004:Financial Management(水题,求平均数)

Financial Management Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 126087   Accepted: 55836 Description Larry graduated this year and finally has a job. He's making a lot of money, but somehow never seems to have enough. Larry has deci

求平均数-----类数组转换成数组

求平均数的代码function avgFn() { 首先把arguments转化为数组 var ary = []; for (var i = 0; i < arguments.length; i++) { ary.push(arguments[i]); ary[ary.length] = arguments[i]; } 数组排序 ary.sort(function (a, b) { return a - b; }); 掐头去尾 ary.unshift(); ary.pop(); 求和求平均值,小

求平均数的四种方法

用c语言求平均数有四种方法,各有利弊.1.第一种是最常规的做法例 > int main() { int a = 10; int b = 5; c = (a + b) / 2; system("pause"); return 0; } 这种方法有缺陷,如果a和b足够大,以致于两数之和超出了intmax(整型所能代表的最大值),所以不建议使用这种方法.2.最常用的方法例 > int main() { int a = 10; int b = 5; c = a+(b-a)/2; s

翁恺老师零基础学JAVA语言第五周数组--求平均数例题-个人理解

// 用户输入一系列数字,然后求出这些数字的平均数,并输出输入数字中大于平均数的数 Scanner in = new Scanner(System.in); System.out.println("你打算输入多少个数值?请输入:"); // 计算平均数,需要有:1.记录输入的每个数n:输入数的和sum:输入数值的个数cnt: int cnt = in.nextInt(); // 算平均数,定义sum为浮点数 double sum = 0; System.out.println(&quo

零基础学JAVA语言第五周数组--求平均数例题

package shuzu; import java.util.Scanner; public class Shuzu_pjs { public static void main(String[] args) { // 用户输入一系列数字,然后求出这些数字的平均数,并输出输入数字中大于平均数的数 Scanner in = new Scanner(System.in); System.out.println("你打算输入多少个数值?请输入:"); // 计算平均数,需要有:1.记录输入的

不使用中间变量交换两个数. 求平均数考虑溢出

#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> //不使用中间变量交换两个数的值 void exchange_num(int *a, int *b) { ①* a =*a + *b;    //适用范围广 * b = *a -* b; * a =* a - *b; ②* a = (*a )*(*b); * b = (*a )/(*b); * a = (*a ) / (*b);//当两个数有

POJ-1004: financial-management 详解1: 求平均数

> 分析 >> 本题就是求输入参数的平均数 > 注意 >> 输出时保留两位小数 > 附代码 1 #include "stdio.h" 2 3 int main(void) 4 { 5 float sum = 0.0 ; 6 float tmp = 0.0 ; 7 int count = 0 ; 8 9 count = 12 ; 10 while(count--) 11 { 12 scanf("%f", &tmp) ;