定义二维数组 int array[3][4],从键盘输入整数给array赋值,

定义二维数组 int array[3][4],从键盘输入整数给array赋值,并求数组array中的最大值、最小值和平均值。用两种方法,指针和非指针法。

//刚写的,测试通过,如果有疑问,欢迎交流
#include<stdio.h>

int main(){
int array[3][4];
for(int i = 0; i< 3; i++){
for(int j = 0; j < 4; j++){
scanf("%d", &array[i][j]);
}
}
//用指针
int *max=&array[0][0], *min = &array[0][0], avg = 0;

int *tmp_ptr = &array[0][0];
for(int i = 0; i< 3*4; i++){
if(*tmp_ptr > *max)
max = tmp_ptr;
if(*tmp_ptr < *min)
min = tmp_ptr;
avg+= *tmp_ptr;
tmp_ptr++;
}
printf("min: %d  max:%d  avg:%f\n", *min, *max, avg / (3.0 * 4.0));

//不用指针
int max_value = array[0][0], min_value = array[0][0], avg_value = 0;
for(int i = 0; i<3; i++){
for(int j = 0; j<4; j++){
if(max_value < array[i][j])
max_value = array[i][j];
if(min_value > array[i][j])
min_value = array[i][j];
avg_value += array[i][j];
}
}
printf("min: %d  max:%d  avg:%f\n", min_value, max_value, avg_value / (3.0 * 4.0));
return 0;
}

追问

谢谢

追答

客气

温馨提示:答案为网友推荐,仅供参考