赞
踩
实验10
Problem F: 求矩阵各列的平均值
Description
编写一个程序,求矩阵中各列元素值相加的平均值。其中,矩阵的元素都是很小的整数,且各列元素之和的数值不会超出int类型的表示范围。
Input
输入为多行。第一行K>0,表示有K个测试用例。
在之后K个测试用例中,首先是两个整数0<=M,N<=100,表示该测试用例的矩阵是一个M行N列的矩阵。之后是一个M行N列的整数组成的矩阵。
Output
输出有K行,每个测试用例的结果占一行。每行的格式为:
case i:d1 d2 ... dj
其中i表示测试用例的编号(从1开始),d1、d2、…、dj表示相应测试用例的各列元素相加的平均值,两两之间用空格隔开。每个平均值用%lg输出即可。
Sample Input
4 3 3 1 2 3 1 2 3 1 2 3 2 3 1 1 1 1 1 1 1 1 1 5 1 3 4 5 6 7
Sample Output
case 1:1 2 3
case 2:1 1 1
case 3:1
case 4:5
答案:
#include<stdio.h> #include<string.h> #include<malloc.h> #include<stdlib.h> int main() { int n; scanf("%d",&n); for(int ii=1;ii<=n;ii++){ int m,n; scanf("%d %d",&m,&n); int a[m][n]; for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ scanf("%d",&a[i][j]); } } int b[n]; for(int i=0;i<n;i++){ b[i]=0; } for(int i=0;i<m;i++){ for(int j=0;j<n;j++){ b[j]+=a[i][j]; } } printf("case %d:",ii); for(int i=0;i<n;i++){ printf("%lg",b[i]*1.0/m);//注意输出格式!!! if(i<n-1){ printf(" "); } } printf("\n"); } return 0; }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。