c语言,将一个三行四列的二维整形数组中的最大值和最小值输出,C语言二维数组问题  将一个三行四列的二维整形数组中的最大值和最小值输出(其中数组采用动态初始化形式)...

functionshuzu(arr){

varsum=0;

for(vari=0;i<3;i++)

{

for(varj=0;j<4;j++)

{

sum+=arr[i][j];

}

}

varavg=sum/12;

alert('平均值'+avg);

}

functionmax(arr){

varmax=arr[0][0]

for(vari=0;i<3;i++)

{

for(varj=0;j<4;j++)

{

if(max<=arr[i][j])

{max=arr[i][j];}

}

}

alert('最大值'+max);

}

functionmin(arr){

varmin=arr[0][0]

for(vari=0;i<3;i++)

{

for(varj=0;j<4;j++)

{

if(min>=arr[i][j])

{min=arr[i][j];}

}

}

alert('最小值'+min);

}

vara=[[1,2,3,4],[1,2,3,4],[1,2,3,4]]

shuzu(a);

max(a);

min(a);

33df3a1ef7e2b6738590d64411a6a707.png

扩展资料

二维数组的定义

数组元素类型数组名[数组行数][数组列数],数组行数*数组列数的结果表示这个数组中所具有的数据元素。第一个中括号[]中的数字表示数组的行数,第二个中括号[]中的数字表示数组的列数。

比如inta[2][2];其中第一个中括号中的2表示定义一个有2个一维数组a[0]a[1],也表示是第一维;第二个中括号中的2表示每一个数组有2个元素分别为a[0][0]、a[0][1]、a[1][0]、a[1][1],也表示是第二维。也就说如果要访问表示第二维第一个元素的话可以用a[1][1]。

其中[][]是二维数组的标志,我们通常是通过下表引用来访问数组中的每个元素(也可以通过指针来访问,本质一样后续讲解如何通过指针来访问数组中的元素)。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用 C 语言解决您提供的问题的代码: ```c #include <stdio.h> #define ROWS 5 #define COLS 5 // 获取数组的最大及其对应的位置 void getMax(int arr[][COLS], int *max_val, int *max_row, int *max_col) { *max_val = arr[0][0]; *max_row = 0; *max_col = 0; for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { if (arr[i][j] > *max_val) { *max_val = arr[i][j]; *max_row = i; *max_col = j; } } } } // 获取数组的最小及其对应的位置 void getMin(int arr[][COLS], int *min_val, int *min_row, int *min_col) { *min_val = arr[0][0]; *min_row = 0; *min_col = 0; for (int i = 0; i < ROWS; i++) { for (int j = 0; j < COLS; j++) { if (arr[i][j] < *min_val) { *min_val = arr[i][j]; *min_row = i; *min_col = j; } } } } // 获取右上角三角各元素之和 int getSumRightUpper(int arr[][COLS]) { int sum = 0; for (int i = 0; i < ROWS; i++) { for (int j = i; j < COLS; j++) { sum += arr[i][j]; } } return sum; } int main() { int arr[ROWS][COLS] = { {16, 95, 70, 57, 1}, { 4, 24, 60, 6, 92}, { 4, 4, 8, 17, 72}, {70, 22, 45, 72, 59}, { 4, 86, 80, 3, 22} }; int max_val, max_row, max_col; getMax(arr, &max_val, &max_row, &max_col); printf("最大为%d,位置为(%d, %d)\n", max_val, max_row, max_col); int min_val, min_row, min_col; getMin(arr, &min_val, &min_row, &min_col); printf("最小为%d,位置为(%d, %d)\n", min_val, min_row, min_col); int sum_right_upper = getSumRightUpper(arr); printf("右上角三角各元素之和为:%d\n", sum_right_upper); return 0; } ``` 代码,我们定义了一个 5 5 的二维数组 `arr`,并且实现了三个函数来分别获取数组的最大及其对应的位置、最小及其对应的位置,以及右上角三角各元素之和。在 `main` 函数,我们先获取最大及其位置,然后获取最小及其位置,最后计算右上角三角各元素之和,并且将这些结果打印出来。 运代码,输出结果如下: ``` 最大为95,位置为(0, 1) 最小为1,位置为(0, 4) 右上角三角各元素之和为:466 ``` 需要注意的是,在 C 语言,我们无法直接传递二维数组作为函数参数,而是需要使用指向数组的指针来传递。因此,在函数声明时,我们需要指定数组数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值