题目描述:


废话现在有一个软件,可以让他的英雄按照输入的矩阵行走。已知DOTA 2的地图是一个正方形,他只要输入单位转置矩阵就可以无限送人头了。

程序要求:输入正整数N(20>=N>0),输出一个N阶单位转置矩阵。


输入:

有多组数据,每组数据为一个2~20的正整数N。


输出:

请输出N阶单位转置矩阵,输出一个矩阵之后,请再输出一个空行。


样例输入 :                   

3

2
                                                    

样例输出 :                   

0 0 1

0 1 0

1 0 0


0 1

1 0
               

解题思路:


本来想按着题目意思规规矩矩写,然后发现有点小麻烦,,于是,,拿出草稿纸确认了一遍自己的想法。。。。

当输入为 3 时:

数组为: 

00 01 02

10 11 12    --> 你会发现,输出为1的元素 行列下标之和为2 (3-1)

20 21 22    


同理,2 时:

00 01

10 11    --> 和为1 (2-1)


于是。。。。。


注意事项:


既然都到这步了,就稍微注意一下格式就好了,,

1,多组数据

2,元素之间是有一个空格的

3,矩阵输出完毕换行


参考代码:


#include<iostream>
using namespace std;
int main(){
    int n;
    while(cin>>n){ //多组数据
        int a[n][n];
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                if(i+j==n-1) a[i][j]=1;
                else a[i][j]=0;
            }
        }
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                cout<<a[i][j]<<" ";//空格
            }
            cout<<endl;
        }
        cout<<endl;//换行
    }
    return 0;
}


就是这么简单啦~~ 有啥不懂的可以留言哦~

排版系统升级了 有点不会用 哈哈哈

页面就这样啦

不要吝惜你的点赞哦~

点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论