好气哦,我头有点炸
  • 浏览:583 评论:8 人

  • 5、用二维数组实现5行5列矩阵的转置,并求转置前(后)主、副对角线上元素之和。 注意,两条对角线相交的元素只加一次。





    #include <stdio.h>
    void (main)
    {
    int i,j,zhusum=0,fusum=0,sum2=0,sum1=0,a[5][5],iTemp;
    for(i=0;i<5;i++)
    for(j=0;j<5;j++)
    scanf("%d",&a[j]);
    {
    for(i=0;i<5;i++)
    zhusum+=a
    fusum+=a[4-i]
    printf("主对角线和是:%d\n,副对角线和是:%d\n",zhusum,fusum);
    }
    {
    iTemp=a[j];
    a[j]=a[j];
    a[j]=iTemp;
    }
    for(i=0;i<5;i++)
    {
    for(j=0;j<5;j++)
    printf("%4d",a[j]);
    printf("\n");
    }
    {
    for(i=0;i<5;i++)
    sum1+=a
    sum2+=a[4-i]
    printf("转置后主对角线和:%d\n,转置后副对角线和:%d",sum1,sum2);
    }




    #include<stdio.h>
    int main()
    {
    int i[5][5],n,k,j;
    for(n=0;n<5;n++)
    for(k=0;k<5;k++)
    {scanf_s("%d",&i[n][k]);
    }
    for(n=0;n<5;n++)
    {for(k=n;k<5;k++)
    {j=i[n][k];
    i[n][k]=i[k][n];
    i[k][n]=j;
    }
    }
    for(n=0;n<5;n++)
    {for(k=0;k<5;k++)
    {
    if((k+1)%5==0)
    {printf("%d\n",i[n][k]);
    }
    else
    printf("%d ",i[n][k]);
    }
    }
    return 0;
    }
    这是网上的一个 应该没问题 只有转置 我在上课就不打了 这种问题简单的一般网上都有的




    #include<stdio.h>
    int main()
    {
    int i[5][5],n,k,j;
    for(n=0;n<5;n++)
    for(k=0;k<5;k++)
    {scanf_s("%d",&i[n][k]);
    }
    for(n=0;n<5;n++)
    {for(k=n;k<5;k++)
    {j=i[n][k];
    i[n][k]=i[k][n];
    i[k][n]=j;
    }
    }
    for(n=0;n<5;n++)
    {for(k=0;k<5;k++)
    {
    if((k+1)%5==0)
    {printf("%d\n",i[n][k]);
    }
    else
    printf("%d ",i[n][k]);
    }
    }
    return 0;
    }
    这是网上的一个 应该没问题 只有转置 我在上课就不打了 这种问题简单的一般网上都有的