标题:定义一个二维数组为形参,调用函数的实参表达式该如何
取消只看楼主
守候幸福
Rank: 2
来 自:井冈山大学
等 级:论坛游民
帖 子:16
专家分:10
注 册:2013-3-24
结帖率:60%
 问题点数:0 回复次数:1 
定义一个二维数组为形参,调用函数的实参表达式该如何
下面是一个4*5的矩阵



 2  6  4  9  -13
 5 -1  3  8   7
12  0  4  10  2
 7  6  -9  5  3
1:求所有的元素之和;
2:求出所有大于平均值的元素。
请教下面的程序把形参定义为一个“二维数组”应该怎么改动?
/*计算矩阵元素的平均值和他们的和*/
#include<stdio.h>
#include<conio.h>
int sum_ave(int m,int n,int arr[]);
void prt_up(int m,int n,float average,int arr[]);
main()
{
    int A[4][5]={{2,6,4,9,-13},{5,-1,3,8,7},{12,0,4,10,2},{7,6,-9,5,2}};
    int i=4,j=5,sum;
    float ave;
    sum=sum_ave(i,j,A[0]);
    printf("the number of sum=%d\n",sum);
    ave=(float)(sum)/(i*j);
    printf("the number of average=%5.2f\n",ave);
    prt_up(i,j,ave,A[0]);
}
/*计算矩阵元素值得和:*/
int sum_ave(int m,int n,int arr[])
{
    int i;
    int total=0;
    for(i=0;i<m*n;i++)
        total=total+arr[i];
    return(total);
}
/*输出高于平均值的矩阵元素:*/
void prt_up(int m,int n,float average ,int arr[])
{
    int i,j;
    printf("the number of Bigger then average are:");
    for(i=0;i<m;i++)
    {
        printf("\n");
        for(j=0;j<n;j++)
            if(arr[i*n+j]>average)
                printf("arr[%d][%d]=%d\t",i,j,arr[i*n+j]);
    }
}
搜索更多相关主题的帖子: average include 表达式 
2013-04-16 19:32
守候幸福
Rank: 2
来 自:井冈山大学
等 级:论坛游民
帖 子:16
专家分:10
注 册:2013-3-24
得分:0 
真是不好意思了,刚刚自己又想出来了,所以自己终止了悬赏。
2013-04-16 19:55



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-404444-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.064158 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved