鱼C论坛

 找回密码
 立即注册
查看: 2309|回复: 8

这样对吗,是不是行列没有互换

[复制链接]
发表于 2022-11-13 21:06:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入一个正整数n (1<n≤6),根据生成1个n*n的方阵,然后将该方阵转置(行列互换)后输出。

#include <stdio.h>
int main( )
{
    int i, j, n, t;
    int a[6][6];
    scanf("%d", &n);
    for (i = 0; i < n; i++)
        for (j = 0; j < n; j++)
            a[i][j] = i * n + j + 1;      
    for (i = 0; i < n; i++)              
        for (j = ; j < n; j++)
        {
            
t=a[i][j];

        }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
            printf("%4d", a[i][j]);
        putchar('\n');
    }

    return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-11-13 21:15:52 | 显示全部楼层
本帖最后由 tommyyu 于 2022-11-13 21:17 编辑

这里是不是少了一个 0
屏幕截图 2022-11-13 211626.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-13 21:20:46 | 显示全部楼层
tommyyu 发表于 2022-11-13 21:15
这里是不是少了一个 0

#include <stdio.h>
int main( )
{
    int i, j, n, t;
    int a[6][6];
    scanf("%d", &n);
    for (i = 0; i < n; i++)
        for (j = 0; j < n; j++)
            a[j] = i * n + j + 1;      
    for (i = 0; i < n; i++)              
        for (j =0 ; j < n; j++)
        {
            
t=a[j];

        }
    for (i = 0; i < n; i++)
    {
        for (j = 0; j < n; j++)
            printf("%4d", a[j]);
        putchar('\n');
    }

    return 0;
}
有的,漏了,最后输出没有转换
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-13 21:21:46 | 显示全部楼层

将该方阵转置(行列互换)后输出。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-13 21:26:30 | 显示全部楼层
giegie666 发表于 2022-11-13 21:21
将该方阵转置(行列互换)后输出。

我感觉只要能输出正确的结果就是正确的代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-11-13 21:30:15 From FishC Mobile | 显示全部楼层
tommyyu 发表于 2022-11-13 21:26
我感觉只要能输出正确的结果就是正确的代码

矩阵转换输出才达到要求
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-13 21:35:37 | 显示全部楼层
giegie666 发表于 2022-11-13 21:30
矩阵转换输出才达到要求

我感觉如果这个是锻炼矩阵转化的能力的话,有必要用矩阵转化输出

或者是交给老师看的话,就应该使用老师所教的方法

如果这题是机器评测的话,怎么样写都无所谓,反正机器又不知道代码的运行逻辑,只要输出正确答案就可以
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-13 22:16:23 | 显示全部楼层
本帖最后由 jackz007 于 2022-11-13 22:23 编辑
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4.         int i , j , n                                                               ;
  5.         scanf("%d", & n)                                                            ;
  6.         int a[n][n]                                                                 ;
  7.         for(i = 0 ; i < n ; i ++) for(j = 0 ; j < n ; j ++) a[i][j] = i * n + j + 1 ;
  8.         for(i = 0 ; i < n ; i ++) {
  9.                 printf("%2d" , a[i][0])                                             ;
  10.                 for(j = 1 ; j < n ; j ++) printf(" %2d" , a[i][j])                  ;
  11.                 printf("\n")                                                        ;
  12.         }
  13.         printf("\n")                                                                ;
  14.         for(i = 0 ; i < n ; i ++) {
  15.                 printf("%2d" , a[0][i])                                             ;
  16.                 for(j = 1 ; j < n ; j ++) printf(" %2d" , a[j][i])                  ;
  17.                 printf("\n")                                                        ;
  18.         }
  19. }
复制代码

        编译运行实况:
  1. D:\[00.Exerciese.2022]\C>g++ -o x x.c

  2. D:\[00.Exerciese.2022]\C>x
  3. 8
  4. 1  2  3  4  5  6  7  8
  5. 9 10 11 12 13 14 15 16
  6. 17 18 19 20 21 22 23 24
  7. 25 26 27 28 29 30 31 32
  8. 33 34 35 36 37 38 39 40
  9. 41 42 43 44 45 46 47 48
  10. 49 50 51 52 53 54 55 56
  11. 57 58 59 60 61 62 63 64

  12. 1  9 17 25 33 41 49 57
  13. 2 10 18 26 34 42 50 58
  14. 3 11 19 27 35 43 51 59
  15. 4 12 20 28 36 44 52 60
  16. 5 13 21 29 37 45 53 61
  17. 6 14 22 30 38 46 54 62
  18. 7 15 23 31 39 47 55 63
  19. 8 16 24 32 40 48 56 64

  20. D:\[00.Exerciese.2022]\C>
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-11-13 22:17:07 | 显示全部楼层

  1.     for(i=0; i<6; i+=1)
  2.         for(j=i; j<6; j+=1)
  3.         {
  4.             t=a[i][j];
  5.             a[i][j]=a[j][i];
  6.             a[j][i]=t;
  7.         }
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 16:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表