2023

有n个学生m个课程

求每个学生的平均分

求每个课程的平均分

求每个课程分数大于该课程平均分的人数

#include <stdio.h>
#include <math.h>

int main()
{
	int m, n, i, j, count,sum;
	while (scanf_s("%d%d", &n, &m))
	{
		count = sum = 0;
		double defen, pdefen[50][5] = { { 0 } };
		double p[50] = { 0 };
		double q[5] = { 0 };
		for (i = 0; i < n; i++)
		{
			for (j = 0; j < m; j++)
			{
				scanf_s("%lf",&defen);
				pdefen[i][j] = defen;
			}
		}
		for (i = 0; i < n; i++)
		{
			for (j = 0;j < m;j++)
			{
				p[i] += pdefen[i][j];
			}
			printf("%.2lf%c", p[i] / m, (i < n - 1 ? ‘ ‘ : ‘\n‘));
		}

		for (j = 0; j < m; j++)
		{
			for (i = 0; i < n; i++)
			{
				q[j] += pdefen[i][j];
			}
			printf("%.2lf%c", q[j] / n, (j < m - 1? ‘ ‘ : ‘\n‘));
		}
		for (i = 0; i < n; i++)
		{
			count = 0;
			for (j = 0; j < m && pdefen[i][j] >= q[j]/n; j++)
			{
					count++;
					if (count == m) sum++;
			}
		}
		printf("%d\n", sum);
	}
	return 0;
}

  

参考答案

#include <stdio.h>
#include <string.h>

int main(void)
{
    int n, m;
    int i, j;
    int t, d;
    int s[50];
    int c[5];
    int sc[50][5];

    while (scanf("%d%d", &n, &m) != EOF)
    {
        memset(s, 0, sizeof(s));
        memset(c, 0, sizeof(c));
        memset(sc, 0, sizeof(sc));
        for (i = 0 ; i < n ; i++)
        {
            for (j = 0 ; j < m ; j++)
            {
                scanf("%d", &sc[i][j]);
                c[j] += sc[i][j];
                s[i] += sc[i][j];
            }
        }
        for (i = 0 ; i < n ; i++)
            printf("%.2lf%c", s[i] * 1.0 / m, i < n - 1 ? ‘ ‘ : ‘ \n‘);
        for (i = 0 ; i < m ; i++)
            printf("%.2lf%c", c[i] * 1.0 / n, i < m - 1 ? ‘ ‘ : ‘ \n‘);
        for (t = i = 0 ; i < n ; i++)
        {
            for (d = 1, j = 0 ; j < m ; j++)
            {
                if (sc[i][j] < 1.0 * c[j] / n)
                {
                    d = 0;
                    break;
                }
            }
            if (d) t++;
        }
        printf("%d\n\n", t);
    }

    return 0;
}

  

时间: 2024-09-29 10:20:13

2023的相关文章

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)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量. ? ? In

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

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

十年后2023年再读这篇文章,看看我将会怎么样?

http://blog.csdn.net/wojiushiwo987/article/details/8453881看到一篇文章不错[清华差生10年奋斗经历] ,写给将要工作的自己,十年后2023年再读这篇文章,看看我将会怎么样? 在2012年收关时刻,看到如此激励的文章,实在是我的幸运.文章讲述了所谓清华差生的奋斗史,从毕业.各种工作经历.与同事.领导关系细致入微的剖析了实战的职场及人和人差距拉开的原因等.正如文中作者指出的那样,这也是我的心灵导师俞敏洪一直教导的,”人生是跑马拉松的过程,不在

bzoj1630/2023 [Usaco2007 Demo]Ant Counting

传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1630 http://www.lydsy.com/JudgeOnline/problem.php?id=2023 [题解] 直接dp,f[i,j]表示第i个种族选了j只蚂蚁的方案数,转移枚举这个种族选择的方案. 然后可以前缀和+滚动数组 # include <stdio.h> # include <string.h> # include <iostream> # i

1630/2023: [Usaco2005 Nov]Ant Counting 数蚂蚁

2023: [Usaco2005 Nov]Ant Counting 数蚂蚁 Time Limit: 4 Sec  Memory Limit: 64 MBSubmit: 85  Solved: 40[Submit][Status][Discuss] Description 有一天,贝茜无聊地坐在蚂蚁洞前看蚂蚁们进进出出地搬运食物.很快贝茜发现有些蚂蚁长得几乎一模一样,于是她认为那些蚂蚁是兄弟,也就是说它们是同一个家族里的成员.她也发现整个蚂蚁群里有时只有一只出来觅食,有时是几只,有时干脆整个蚁群一

URAL 2023. Donald is a postman (预处理)

2023. Donald is a postman Time limit: 1.0 second Memory limit: 64 MB Donald Duck works as a postman for the Walt Disney Studios. He delivers children's letters from all over the world to his friends, which are cartoon characters. The Studios has thre

杭电2023

1 #include<stdio.h> 2 int main() 3 { 4 int i,j,x,n,m,u; 5 double a[50][5],t[5],s; 6 while(~scanf("%d%d",&n,&m)) 7 { 8 for(i=0; i<n; i++) 9 for(j=0; j<m; j++) 10 scanf("%lf",&a[i][j]); 11 for(i=0; i<n; i++) 12

hdu 2023 求平均成绩 (java)

问题: 在计算列和时,没有将i j调换,导致输出错误的结果: for(int i=0;i<m;i++) { for(int j=0;j<n;j++) g[i]+=a[j][i];//错误:g[i]+=a[i][j]; g[i]=g[i]/n; 此外,定义了三个double型数组导致超出内存,实际上二维数组只需要用int型: 最后输出时没有注意要预留一个空行: 如果在同一级出现相同的for循环,要看能否组合成一个循环: 求平均成绩 Time Limit: 2000/1000 MS (Java/O

hdu 2023 简单java 水过~~~

Problem Description 假设一个班有n(n<=50)个学生,每人考m(m<=5)门课,求每个学生的平均成绩和每门课的平均成绩,并输出各科成绩均大于等于平均成绩的学生数量. Input 输入数据有多个测试实例,每个测试实例的第一行包括两个整数n和m,分别表示学生数和课程数.然后是n行数据,每行包括m个整数(即:考试分数). Output 对于每个测试实例,输出3行数据,第一行包含n个数据,表示n个学生的平均成绩,结果保留两位小数:第二行包含m个数据,表示m门课的平均成绩,结果保留

hdu 2023 求平均成绩

本题链接:点击打开链接 本题题意: 有n名学生,m门课程,输入每个学生没门课程的成绩,求每个学生的平均成绩和没门课程的平均成绩,并统计每门课程的成绩均超过该课程平均成绩的学生有多少名. 解题思路: 本题主要是使用三个数组,一个score二维数组存放每个学生每门课的成绩,然后两个一维数组student和subject分别存放每个学生的平均成绩及每门课的平均成绩.具体请参考代码: #include<stdio.h> #include<string.h> double student[5