zoukankan      html  css  js  c++  java
  • 北大OJ百练——4075:矩阵旋转(C语言)

    百练的这道题很简单,通过率也达到了86%,所以我也就来贴个代码了。。。下面是题目:


    不过还是说一下我的思路:

    这道题对一个新来说,可能是会和矩阵的转置相混淆,这题并不是要我们去求矩阵的转置。

    这题,我们只需要先得到这个矩阵,然后再按列的从小到大,行的从大到小来输出即可。顺便说一句,这是在做题,只要去把原矩阵旋转输出就行了,而在以后的软件程序中,我们最好还是用一个相同大小的矩阵来保存一份。指不定在程序的哪个地方还会用到原矩阵或是旋转后的矩阵。废话不多说,贴代码:

    #include <stdio.h>
    #define MAXN 100
    
    int main()
    {
    	int m, n;
    	int i, j;
    	int mat[MAXN][MAXN];
    
    	scanf("%d", &m);
    	while(m--)
    	{
    		// 输入行和列均为n的n阶矩阵
    		scanf("%d", &n);
    		for(i = 0; i < n; ++i)
    		{
    			for(j = 0; j < n; ++j)
    			{
    				scanf("%d", &mat[i][j]);
    			}
    		}
    
    		// 输出旋转后的矩阵
    		for(i = 0; i < n; ++i)
    		{
    			for(j = n - 1; j >= 0; --j)
    			{
    				printf("%d", mat[j][i]);
    				if(j == 0) printf("
    ");
    				else printf(" ");
    			}
    		}
    	}
    	return 0;
    }

    原题的连接:4075:矩阵旋转


  • 相关阅读:
    mysql自增长字段设置
    查看docker的挂载目录
    centos rpm安装jdk1.8
    mybatis-地区三表生成地区树
    post表单、json接口
    git子模块使用
    解决Windows系统80端口被占用
    交换机基础命令
    JMX协议
    WMI协议
  • 原文地址:https://www.cnblogs.com/fengju/p/6336173.html
Copyright © 2011-2022 走看看