6-16 求矩阵不靠边元素之和 (10分)
求矩阵的所有不靠边元素之和,矩阵行的值m从键盘读入(2<=m<=10),调用自定义函数Input实现矩阵元素从键盘输入,调用Sum函数实现求和。(只考虑float型,且不需考虑求和的结果可能超出float型能表示的范围)。
函数接口定义:
void Input (float a[][N], int m );
float Sum ( float a[][N], int m );
Input函数完成从键盘矩阵元素的功能, Sum函数完成求和并将结果返回。 m 代表矩阵的行。
裁判测试程序样例:
#include<stdio.h>
#define M 10
#define N 4
void Input(float a[][N],int m);
float Sum(float a[][N],int m);
int main(void)
{
float num[M][N],sum;
int m;
scanf("%d", &m);
Input(num,m);
sum = Sum(num,m);
printf("sum = %.2f\n", sum);
return 0;
}
/* 请在这里填写答案 */
输入样例:
4
18 29.5 45 33
66 3.4 11.5 57
70 100 2 16.9
15 25.8 4.5 36
输出样例:
sum = 116.90
void Input (float a[][N], int m )
{
for(int i=0; i<m; i++)
{
for(int j=0; j<N; j++)
{
scanf("%f",&a[i][j]);
}
}
}
float Sum ( float a[][N], int m )
{
float sum=0;
for(int i=1; i<m-1; i++)
{
for(int j=1; j<N-1; j++)
{
sum += a[i][j];
}
}
return sum;
}