|
发表于 2020-12-16 21:42:40
|
显示全部楼层
本楼为最佳答案
- #include <stdio.h>
- int main(void)
- {
- int a[4][4] = {0} , b[4] , i , j , k , * p1 = a[0] , (* p2)[4] = a ;
- for(i = 0 ; i < 4 ; i ++) {
- for(j = 0 ;j < 4 ; j ++) scanf("%d" , & a[i][j]) ;
- fflush(stdin) ;
- }
- //用二维数组指针寻找行最大值
- for(i = 0 ; i < 4 ; i ++) {
- b[i] = * (* (p2 + i)) ;
- for(j = 0 ; j < 4 ; j ++) {
- if(* (* (p2 + i) + j) > b[i]) b[i] = * (* (p2 + i) + j) ;
- }
- }
- for(i = 0 ; i < 4 ; i ++) printf("%d\n" , b[i]) ;
- for(i = 0 ; i < 4 ; i ++) b[i] = 0 ;
- //用一维数组指针寻找行最大值
- for(i = 0 ; i < 16 ; i ++) {
- if(! (i % 4)) {
- b[i / 4] = * (p1 + i) ;
- } else {
- if(* (p1 + i) > b[i / 4]) b[i / 4] = * (p1 + i) ;
- }
- }
- for(i = 0 ;i < 4 ; i ++) printf("%d\n" , b[i]) ;
- }
复制代码 |
|