编写程序,定义一个3行4列的二维整型数组,从键盘输入各元素值,求出并输出各行、各列元素的和、平均值及其全体元素的和与平均值

#include <iostream>
using namespace std;
int main()
{
	cout << "输入12个数,每行4个,总共3行" << endl;
	int a[3][4], i, j;
	double average, sumhang, sumlie,sum=0;
	for (i = 0;i < 3;i++)
	{
		for (j = 0;j < 4; j++)
		{
			cin >> a[i][j];
		}
	}
	
	for (i = 0;i < 3;i++)
	{
		sumhang = 0;
		average = 0.0;
		for (j = 0;j < 4;j++)
		{
			sumhang += a[i][j];
			average = sumhang / (j+1);
		}
		cout << "第" << i + 1 << "行的和为:" << sumhang << " " << "平均值为:" << average << endl;
	}
		
		
		for (j = 0;j < 4;j++)
		{
			sumlie = 0;
			average = 0.0;
			for (i = 0;i < 3;i++)
			{
				sumlie += a[i][j];
				average = sumlie / (i+1);
			}
			cout << "第" << i + 1 << "列的和为:" << sumlie << " " << "平均值为:" << average << endl;
		}
		
		for (i = 0;i < 3;i++)
		{
			for (j = 0;j < 4;j++)
			{
				sum += a[i][j];
			}
			
		}
		
		average = sum /12;
		cout << "所有数的和为:" << sum << " " << "总和的平均值为:" << average << endl;
		return 0;
}

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 好的,以下是用中文回复: 首先,我们可以定义一个二维数组,如下所示: int[][] arr = new int[3][3]; 然后,我们可以使用Scanner类从键盘输入各行各列元素,如下所示: Scanner scanner = new Scanner(System.in); for (int i = ; i < 3; i++) { for (int j = ; j < 3; j++) { System.out.print("请输入第" + (i + 1) + "第" + (j + 1) + "元素:"); arr[i][j] = scanner.nextInt(); } } 最后,我们可以使用嵌套循环以矩阵的方式输出所有元素,如下所示: for (int i = ; i < 3; i++) { for (int j = ; j < 3; j++) { System.out.print(arr[i][j] + "\t"); } System.out.println(); } 这样就可以输出所有元素了。 ### 回答2: 首先我们需要明确什么是二维数组二维数组是由多个一维数组组成的数组,即数组中每个元素也是一个数组。在Java中,定义一个二维数组需要指定其的数量。如下所示: int[][] array = new int[3][3]; 这里定义了一个33二维数组。接下来,我们需要从键盘上输入各行各列元素。为了实现这个功能,我们需要使用Scanner类来获取输入。在这里我们可以使用for循环嵌套来循环读取二维数组的每一个元素。如下所示: Scanner scanner = new Scanner(System.in); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { System.out.println("请输入第" + (i + 1) + "第" + (j + 1) + "元素:"); array[i][j] = scanner.nextInt(); } } 这里定义了一个Scanner对象,使用嵌套的for循环来遍历二维数组的每一个元素,并使用Scanner对象获取键盘输入,将其赋给对应的元素。 最后,我们需要以矩阵的方式输出所有元素。同样地,使用嵌套的for循环来遍历二维数组中的每一个元素,并使用System.out.print()方法输出。如下所示: for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { System.out.print(array[i][j] + " "); } System.out.print("\n"); } 这里使用了两个for循环来输出所有元素,每输出完毕后,需要使用System.out.print("\n")来进。 综上所述,我们可以通过使用Scanner类和for循环来定义一个二维数组从键盘输入各行各列元素,并以矩阵的方式输出所有元素。 ### 回答3: 要定义一个二维数组,在程序中可以使用以下代码: int arr[3][3]; 这样就定义了一个名为arr的二维数组,其大小为33。 接下来要从键盘输入各行各列元素,可以使用for循环和scanf函数来实现: for(int i=0; i<3; i++){ for(int j=0; j<3; j++){ scanf("%d", &arr[i][j]); } } 这个for循环会分别遍历arr二维数组的每个元素,并使用scanf函数输入每个元素。 最后,需要以矩阵的方式输出所有元素,可以使用for循环和printf函数来实现: for(int i=0; i<3; i++){ for(int j=0; j<3; j++){ printf("%d ", arr[i][j]); } printf("\n"); } 这个for循环会分别遍历arr二维数组的每个元素,并使用printf函数输出每个元素。每输出完一就换,使输出结果形成一个完整的33矩阵。 综上所述,定义一个二维数组从键盘输入各行各列元素,并以矩阵的方式输出所有元素需要使用以上代码和方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

变身缎带

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值