键盘输入3*3的整数矩阵,求两条对角线中最小的元素和最大的元素,使用普通指针变量实现。

时间:2021-02-19 00:31:35
#include<stdio.h> 
void main()
{  

   int a[3][3],max,min,max1,min1,(*p)[3];  
 int i,j,m; 

printf("请输入9个整数,用以构成3*3矩阵,输入以空格间隔:\n");
 for(i=0;i<3;i++) 
{
 for(j=0;j<3;j++) 
{scanf("%d",&a[i][j]);  }

}
max=a[0][0],min=a[0][0],max1=a[0][2],min1=a[0][2];
 p=a; 
 for(i=0;i<3;i++) 
{if(max<(*(*(p+i)+i)))  max=(*(*(p+i)+i)); if(min>(*(*(p+i)+i)))
 min=(*(*(p+i)+i));
}

for(m=0;m<3;m++) {if(max1<(*(*(p+m)+(3-m-1)))) max1=(*(*(p+m)+(3-m-1))); if(min1>(*(*(p+m)+(3-m-1))))
min1=(*(*(p+m)+(3-m-1)));
}

 printf("主对角线的最大值是:%d\n最小值是:%d\n\n",max,min); 
 printf("副对角线的最大值是:%d\n最小值是:%d\n\n",max1,min1); 

 system("pause"); 



}