本文主要是介绍Problem F: 求矩阵各列的平均值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
实验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;
}
这篇关于Problem F: 求矩阵各列的平均值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!