从键盘输入一个4×4的整数矩阵

从键盘输入一个4×4的整数矩阵,以主对角线(\)为对称轴将左下角元素中较大者替换右上角对应元素,并将右上角含对称轴输出。

#include “stdio.h”

void main()

{int d[4][]={{0,0,0,0}},i,j; ★

printf(“\nPlease input 16 num: “);

for(i=0;i<4;i++)

      for(j=0;j<4;j++)

       scanf(“%d”,&d[i][j]);

for(i=0;i<4;i++)

      for(j=0;j<4;j++)

       if(d[i][j] < d[j][i])  d[j][i]=d[i][j]; ★

for(i=0;i<4;i++)

      {printf(“\n\n\n\n\n”);/*为了保持每行的间隔与每列的相同*/

       for(j=0;j<4;j++)

       if(j > i) ★

              printf(“\t%d”,d[i][j]);/*为了使位数不同的数输出依然保持三角型*/

      else

              printf(“\t”);

      }

}

 

 

答案

int d[4][]={{0,0,0,0}},i,j;    改为  int d[4][4]={{0,0,0,0}},i,j;
  for(i=0;i < 4;i++)
    for(j=0;j < 4;j++)
      if ( d[i][j] < d[j][i])  d[j][i]=d[i][j];           
改为
  for(i=0;i < 4;i++)
    for(j=0;j < i;j++)
      if(d[i][j] > d[j][i])  d[j][i]=d[i][j];
  if(j > i)  改为    if(j >= i)
 
#include “stdio.h”
#include “conio.h”
 
void main( )
 {
  int d[4][4]={{0,0,0,0}},i,j;
  printf(“\nPlease input 16 num:   “);
  for(i=0;i < 4;i++)
    for(j=0;j < 4;j++)
       scanf(“%d”,&d[i][j]);
  for(i=0;i < 4;i++)
    for(j=0;j < i;j++)
      if(d[i][j]>d[j][i])
                    d[j][i]=d[i][j];
  for(i=0;i < 4;i++)
    { printf(“\n\n\n\n\n”);/*为了保持每行的间隔与每列的相同*/
      for(j=0;j < 4;j++)
      if(j>=i)
        printf(“\t%d”,d[i][j]);/*为了使位数不同的数输出依然保持三角型*/
      else
        printf(“\t”);
    }
  getch();
}
 
 
程序的执行结果如下
Please input 16 num:   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
        1       5       9       13
                 6       10      14
                          11      15
                                    16

© 版权声明
THE END
喜欢就支持以下吧
点赞19 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容