你算哪个bug


私信TA

用户名:qiao

访问量:45761

签 名:

请一定不要停下来成为你想成为的人鸭!

等  级
排  名 58
经  验 11073
参赛次数 4
文章发表 46
年  龄 20
在职情况 学生
学  校
专  业 计网

  自我简介:

在最好的年龄成为一个优秀的人,是最美的成长了

题目描述:


废话现在有一个软件,可以让他的英雄按照输入的矩阵行走。已知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分

5 人评分

  评论区

  • «
  • »