當前位置:
首頁 >
1581: 统计成绩-一题简单的坑题
發布時間:2024/9/3
30
豆豆
生活随笔
收集整理的這篇文章主要介紹了
1581: 统计成绩-一题简单的坑题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
zcmu:
1581: 統計成績
Time Limit: 1 Sec Memory Limit: 128 MB
[Submit][Status][Web Board]
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
HINT
Source
/*
題目是說m<=5,但是存分數的數組定義的比它大一點點(我開始定義的是6)就是AC不了,我定義成50就過了,怎么會這么坑~
*/
//不用結構體
#include <stdio.h> void printAver(double aver[],int num) {printf("%.2lf",aver[0]);for(int i = 1; i < num; i++){printf(" %.2lf",aver[i]);}printf("\n"); } int main() {int n,m;int date[50][50];double score_aver[50],stu_aver[50];while(~scanf("%d%d",&n,&m)){int num = 0;double sum;for(int i = 0; i < n; i++){sum = 0;for(int j = 0; j < m; j++){scanf("%d",&date[i][j]);sum += date[i][j];}stu_aver[i] = sum / m;}for(int i = 0; i < m; i++){sum = 0;for(int j = 0; j < n; j++){sum += date[j][i];}score_aver[i] = sum / n;}int flag;for(int i = 0; i < n; i++){flag = 1;for(int j = 0; j < m; j++){if(date[i][j] < score_aver[j]){flag = 0;break;}}if(flag) num++;}printAver(stu_aver,n);printAver(score_aver,m);printf("%d\n\n",num);}return 0; }總結
以上是生活随笔為你收集整理的1581: 统计成绩-一题简单的坑题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1736: 反射-含某个字符的子串的查找
- 下一篇: 1562: 比较大小(思维)