Kill_Alyssa 2019-04-14 14:41 采纳率: 0%
浏览 319

求助:原题目是用指针实现矩阵的转置,现在我不知道自己错在哪里了。。。拜托大家帮我看一下

  1. #include
  2. #include 3.#include 4.void main (void) 5.{ int a[4][4], (*p)[4]; int i=0, j=0,t; for(i=0; i<4; i++) { for(j=0; j<4; j++) { scanf("%d",&a[i][j]); if(j == 3) { printf("\n"); } } } //输入矩阵 for(i=0,j=0,p=a; i<4; i++,j++) { t = ((p+i)+j); ((p+i)+j) = ((p+j)+i); ((p+j)+i) = t; } //转置矩阵 for(i=0; i<4; i++) { for(j=0; j<4; j++) { printf("%5d",a[i][j]); if(j == 3) { printf("\n"); } } } //输出矩阵 system("pause"); return 0; }
  • 写回答

2条回答

  • su_ds 2019-04-14 17:29
    关注

    int main (void)
    {
    int a[4][4], b[4][4];
    int i=0, j=0;

    for (i=0; i<4; i++)
    {
        for (j=0; j<4; j++)
        {
            scanf("%d",&a[i][j]);
            if (j == 3)
            {
                printf("\n");
            }
        }
    } //输入矩阵
    for (i=0; i<4; i++)
    {
        for(j=0; j<4; j++)
        {
            b[j][i] = a[i][j];
        }
    
    } //转置矩阵
    for (i=0; i<4; i++)
    {
        for (j=0; j<4; j++)
        {
            printf("%5d",b[i][j]);
            if (j == 3)
            {
                printf("\n");
            }
        }
    } //输出矩阵 
    system("pause"); 
    return 0; 
    

    }

    或者

    int main (void)
    {
    int a[4][4], *p;
    int i=0, j=0, t;

    for (i=0; i<4; i++)
    {
        for (j=0; j<4; j++)
        {
            scanf("%d",&a[i][j]);
            if (j == 3)
            {
                printf("\n");
            }
        }
    } //输入矩阵
    for (i=0; i<4; i++)
    {
        for(j=i+1; j<4; j++)
        {
            p = &(a[i][j]);
            t = *p;
            *p = a[j][i];
            a[j][i] = t;
        }
    
    } //转置矩阵
    for (i=0; i<4; i++)
    {
        for (j=0; j<4; j++)
        {
            printf("%5d",a[i][j]);
            if (j == 3)
            {
                printf("\n");
            }
        }
    } //输出矩阵 
    system("pause"); 
    return 0; 
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的