15----矩阵转置

问题描述

       编程实现矩阵转置,并求对角线之和。

代码实现:

#include<stdio.h>
#define N 4

void main(){
	
	int a[N][N],(*p)[N];
	int i,j,t,s=0;
	
	//输入读取数据 
	printf("input a: \n");
	for(i=0;i<N;i++){
		printf("input the %dth row:\n",i+1);
		for(j=0;j<N;j++){
			scanf("%d",&a[i][j]);
		}
	}
	
	p=a;
	for(i=0;i<N;i++){
		//累加对角线上的元素
		s+=*(*(p+i)+i);
		
		//矩阵转置 
		for(j=i+1;j<N;j++){
		 t=*(*(p+i)+j);
		 *(*(p+i)+j)=*(*(p+j)+i);
		 *(*(p+j)+i)=t;
	    }
    }
	
	printf("\n");
	
	//输出转置后的矩阵
	for(i=0;i<N;i++){
		for(j=0;j<N;j++){
			printf("%4d",*(*(p+i)+j));
		}
		printf("\n");
	} 
	printf("s=%d\n",s);
}

代码运行截图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值