| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 870 人关注过本帖
标题:菜鸟C程入门,求大神解救
取消只看楼主 加入收藏
嘲风
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-12-22
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:2 
菜鸟C程入门,求大神解救
编写一个函数(参数用指针)将一个3×3矩阵转置,并且求该矩阵的迹(矩阵的迹是对角元素之和)。
搜索更多相关主题的帖子: 元素 
2016-12-23 17:34
嘲风
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-12-22
收藏
得分:0 
回复 2楼 grmmylbs
他的迹就是a[0][0]+a[1][1]+a[2][2];
转至就是a[i][j]=a[j][i]
2016-12-23 18:03
嘲风
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2016-12-22
收藏
得分:0 
回复 4楼 bjut_Allen
#include <stdio.h>
int main()       ///为什么这点不做move函数声明也可以?
{
    int a[3][3],*p,i;
    printf("输入矩阵:\n");
    for(i=0;i<3;i++)
    scanf("%d%d%d",&a[i][0],&a[i][1],&a[i][2]);
    p=&a[0][0];
    move(p);
    printf("输出矩阵:\n");
    for(i=0;i<3;i++)
    {
        printf("%d %d %d",a[i][0],a[i][1],a[i][2]);
        printf("\n");
    }
    printf("矩阵的迹是%d",a[0][0]+a[1][1]+a[2][2]);
    return 0;
 }
 void move(int *p)
 {
     int i,j,temp;
     for(i=0;i<3;i++)
     for(j=i;j<3;j++)
     {
         temp=*(p+3*i+j);
         *(p+3*i+j)=*(p+3*j+i);
         *(p+3*j+i)=temp;
     }
 }
2016-12-23 21:20
快速回复:菜鸟C程入门,求大神解救
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015220 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved