一 实现功能:
1:数组的输入
2:数组的遍历
3:数组的最大值和它的下标
4:数组的求和
二 代码:
#include<stdio.h>
#define H 3
#define L 4 //二维数组
void arr_assiginment(int a[][L],int h ,int l); //数组的输入
void arr_convenience(int a[][L],int h,int l); //数组的遍历
void arr_max_line(int a[][L],int h,int l); // 最大值和下标
int arr_sum(int a[][L],int h, int l); //二维数组的求和
int main(int argc, const char *argv[])
{
int s[H][L]={0};
arr_assiginment(s,H,L);
arr_convenience(s,H,L);
arr_max_line(s,H,L);
printf("这个二维数组的合为=%d\n",arr_sum(s,H,L));
return 0;
}
void arr_convenience(int a[][L],int h,int l)
{
printf("二维数组遍历后:\n");
for(int i = 0; i < h; i++){
for(int j = 0; j < l; j++){
printf("%d\t ",a[i][j]);
}
puts("");
}
}
void arr_assiginment(int a[][L],int h ,int l){
printf("请输入:\n");
for(int i = 0; i < h; i++){
for(int j = 0; j < l; j++){
scanf("%d",&a[i][j]);
}}
}
void arr_max_line(int a[][L],int h,int l){
int w1,w2;
int temp = 0;
for(int i = 0; i < h;i++){
for(int j = 0; j < l;j++){
if( temp < a[i][j]){
temp = a[i][j];
w1 = i;
w2 = j;
}
}
}
printf("这个二维数组的最大值为->%d\n", temp);
printf("这个二维数组的最大值下标为->%d %d \n",w1,w2);
}
int arr_sum(int a[][L],int h, int l)
{ int sum;
for(int i = 0; i < h;i++){
for(int j = 0; j < l;j++){
sum +=a[i][j];
}
}
return sum;
}
三 实现结果: