C语言函数题- 求矩阵不靠边元素之和

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;
}

按照要求就行了

猜你喜欢

转载自blog.csdn.net/weixin_51198300/article/details/111875750