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

xiaoxiao2021-02-28  195

#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"); }
转载请注明原文地址: https://www.6miu.com/read-24956.html

最新回复(0)