weixin_53989870
常温唔西迪西
2021-06-02 18:37
采纳率: 100%
浏览 19

C语言求矩阵运算编写三个函数

矩阵运算
编写三个函数,分别计算3*3矩阵转置transposition、平均值mean、对角线元素之和sumDi。在主函数中调用这三个函数并输出结果。3*3矩阵的数值从键盘输入。

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • qfl_sdu
    qfl_sdu 2021-06-02 19:12
    已采纳

    #include <stdio.h>
    void transposition(int **p,int n) 

        int k,i,j; 
        for( i=0;i<n;i++) 
            for( j=i+1;j<n;j++) 
            { 
                k = p[i][j]; 
                p[i][j] = p[j][i]; 
                p[j][i] = k; 
            } 

    float mean(int **p,int n) 

        int i,j; 
      float k=0.0;
        for( i=0;i<n;i++) 
            for( j=i+1;j<n;j++) 
            { 
                k += p[i][j]; 
            } 
       return k/(n*n);

    int sumDi(int **p,int n) 

        int k=0,i,j; 
        for( i=0;i<n;i++) 
            for( j=i+1;j<n;j++) 
            { 
         if(i==j)
                k += p[i][j]; 
            } 
    return k;

    void main() 

    int n,i,j; 
    float mm;
    int sum;
    scanf("%d",&n); 
    int **p = new int*[n]; 
    for( i=0;i<n;i++) 

         p[i] = new int[n]; 
         for(j=0;j<n;j++) 
             scanf("%d",&p[i][j]); 

    mm=mean(p,n);
    sum=sumDi(p,n);
    transpositiin(p,n); 
    for(i=0;i<n;i++)
    for(j=0;j<n;j++)
    printf("%d",p[i][j]);

    printf("均值=%f\n",mm);
    printf("对角线元素和=%d\n",sum);
    }

    点赞 1 评论

相关推荐