输入一个二维整型数组a[4][3],用三种方法输出二维数组中所有元素的平均值、最大元素、最小元素
这是在VC6.0做的,希望解答的能在这软件运行一下三种方法函数原型:doublefunAverage(int*p,intn)intfunMax(intp[][3],int...
这是在VC6.0做的,希望解答的能在这软件运行一下
三种方法 函数原型:
double funAverage(int *p, int n)
int funMax(int p[][3], int n)
int funMin(int (*p)[3], int n) 展开
三种方法 函数原型:
double funAverage(int *p, int n)
int funMax(int p[][3], int n)
int funMin(int (*p)[3], int n) 展开
3个回答
展开全部
如下:【注】VC6已被卸载,系统中只有VC 2010,但下面的代码用的是标准的C语句,因此在VC6是没有问题的,事实上任何一个C编译器都可以通过(已在VC2010、MinGW下测试通过)。
#include <cstdio>
double funAverage(int *p, int n);
int funMax(int p[][3], int n);
int funMin(int (*p)[3], int n);
int main(int argc, char const *argv[])
{
int a[4][3], num;
size_t i, j, ROWS, COLS, totalnum;
ROWS = sizeof(a)/sizeof(a[0]);
COLS = sizeof(a[0])/sizeof(a[0][0]);
totalnum = ROWS * COLS;
printf("Input %dx%d integer matrix:\n", ROWS, COLS);
i = 0;
while (i < ROWS) {
j = 0;
while (j < COLS) {
if (scanf("%d", &num) == 1) {
a[i][j] = num;
j++;
}
}
i ++;
}
printf("\n");
printf("Max: %d\n", funMax(a,4));
printf("Min: %d\n", funMin(a,4));
printf("Average: %g\n", funAverage(a[0],12));
return 0;
}
double funAverage(int *p, int n)
{
int i;
double sum = 0.0;
for (i = 0; i < n; ++i)
sum += p[i];
return (double)(sum/n);
}
int funMax(int p[][3], int n)
{
int i,j, cols, amax = p[0][0];
cols = sizeof(p[0])/sizeof(p[0][0]);
for (i = 0; i < n; ++i)
for (j = 0; j < cols; ++j)
if (p[i][j] > amax) amax = p[i][j];
return amax;
}
运行如下:
Input 4x3 integer matrix:
1 2 3
4 5 6
7 8 9
10 11 12
Max: 12
Min: 1
Average: 6.5
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是用三个自定义函数吗?是的话我再写,不然太费时间
追问
就是用上面那函数原型,平int funMax(int p[][3], int n)均值就用double funAverage(int *p, int n),最大值就用,,,,如果不可以的话,我也希望你能用呢的方法给我看看,谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询