从键盘给实型二维数组(10行20列)元素赋值,使用指针变量计算某行(从键盘输入的行值)数组元素的平均值

wjx 发布于 2023-12-12 604 次阅读


题目要求:

从键盘给实型二维数组(10行20列)元素赋值,使用指针变量计算某行(从键盘输入的行值)数组元素的平均值。

代码展示:

#include <stdio.h>
#define H 10
#define L 20
int main() {
	int a[H][L], h, i, j, (*p)[L] = a,n=0;
	float sum = 0.0;
	//给二维数组赋值
	for (i = 0; i < H; i++,p++) {
		for (j = 0; j < L; j++) {
			scanf("%d", (*p +j));
		}
	}
	p = a;//重置指针为首行
	//获取要计算的行
	while (n <= 0 || n > H) {
		printf("请输入要计算的行是第几行:");
		scanf("%d", &n);
	}
	p = p + n - 1;//因为首行是0
	//输出
	for (i = 0; i < L; i++) sum += *(*p + i);
	printf("%d行的平均值为:%g", n, sum / L);
	return 0;
}