C语言的指针好难!

来源:互联网 发布:注册一个域名要多少钱 编辑:程序博客网 时间:2024/05/01 11:45

今天被矩阵和指针虐的死去活来,直接从一个不知道矩阵是什么鬼的小伙子成了会用程序实现矩阵加减乘除还有转置的死宅@_@。之前一直实现不了的自由的矩阵乘法今天终于实现了……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
原创粉丝点击