C语言的指针好难!

今天被矩阵和指针虐的死去活来,直接从一个不知道矩阵是什么鬼的小伙子成了会用程序实现矩阵加减乘除还有转置的死宅@_@。之前一直实现不了的自由的矩阵乘法今天终于实现了……o(︶︿︶)o 唉,也不知道能再往前走到哪里,等下还打算看一下MIT的公开课,希望公开课能助我走得更远!
照例的代码片

/*
  Name: 转置矩阵 
  Copyright: 本人保留一切权利 
  Author: 胡一波 
  Date: 26/09/15 15:03
  Description: 如名字 
*/

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int *A,*At;
    int a,b,c,M,N;

    printf("请输入矩阵A的维度(M,N):");
    printf("\nM=");
    scanf("%d", &M);
    printf("N=");
    scanf("%d", &N);

    A=(int*)malloc(M*N*sizeof(int));
    At=(int*)malloc(M*N*sizeof(int)); 
    for(a=0; a<M; a++)//行数 
    {
        for(b=0; b<N; b++)//列数 
        {
            printf("A[%d][%d]=", a, b);
            scanf("%d", &A[a*N+b]);
            }
        } 
    for(a=0; a<N; a++)//矩阵置换开始 
        for(b=0; b<M; b++)
            At[a*M+b]=A[b*N+a];         
    printf("[矩阵A]\n");
    for(a=0; a<M; a++)
    {
        for(b=0; b<N; b++)
            printf("%d\t", A[a*N+b]);
        puts("\n");
        }
    printf("[矩阵At]\n"); 
    for(a=0; a<N; a++)
    {
        for(b=0; b<M; b++)
            printf("%d\t", At[a*M+b]);
        puts("\n");
        }

    system("pause");
    return 0;
    }   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值