为了账号安全,请及时绑定邮箱和手机立即绑定

编写一个函数,用于计算具有n行和m列的二维数组中指定列的平均值以及数组各行的和的最小值。

编写一个函数,用于计算具有n行和m列的二维数组中指定列的平均值以及数组各行的和的最小值。

C C++
路卡利欧 2016-11-03 12:28:10
查看完整描述

2 回答

已采纳
?
望远

TA贡献1017条经验 获得超1032个赞

#include<stdio.h>
void function1(int arr[][100],int n,int m,int k)
{
	int i;
	float sum=0;
	if(k>=m)
	{
		printf("数组下标越界,请重新输入!\n");
		printf("请输入要查询的列:");
		scanf("%d",&k);
		function1(arr,n,m,k);
	}
	for(i=0;i<n;i++)
	{
		sum+=arr[i][k];
	}
	printf("第%d列的平均值为:%.2f\n",k,sum/n);

}
void function2(int arr[][100],int m,int n)
{
	int sum=0;
	
	int i,j;
	int arr2[100],min;
	for(i=0;i<m;i++)
	{
		sum=0;

		for(j=0;j<n;j++)
		{
			sum+=arr[i][j];
		}
		arr2[i]=sum;
	}
	min=arr2[0];
	for(i=1;i<m;i++)
	{
		if(arr2[i]<min)
			min=arr2[i];
	}
	printf("各行和最小值为%d\n",min);
}
void main()
{
	int m,n,arr[100][100];
	int i,j,k;
	printf("请输入行和列:");
	scanf("%d%d",&m,&n);
	printf("请输入%d*%d数组的元素:\n",m,n);
	for(i=0;i<m;i++)
	{
		for(j=0;j<n;j++)
		{
			scanf("%d",&arr[i][j]);
		}
	}
	printf("请输入要查询的列:");
	scanf("%d",&k);
	function1(arr,m,n,k);
	function2(arr,m,n);
}

//img1.sycdn.imooc.com//581c3b560001b18004360175.jpg

查看完整回答
1 反对 回复 2016-11-04
  • 路卡利欧
    路卡利欧
    第二列的平均值是5哦,一点小问题。谢谢啦~
  • 路卡利欧
    路卡利欧
    第二列的平均值是5哦,一点小问题。谢谢啦~
  • 望远
    望远
    那是计算机的第二列,下标从0开始
点击展开后面2
?
qq_青枣工作室_0

TA贡献446条经验 获得超754个赞

C语言?

查看完整回答
反对 回复 2016-11-04
  • 2 回答
  • 0 关注
  • 4480 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信