C/CPP基础练习题多维数组,矩阵转置,杨辉三角详解

多维数组

1. 矩阵转置
输入一个数字构成的矩形, 将矩形的值进行转置后打印
​
输入:
第一行 正整数n(1<n<10), 表示矩阵的边长
随后输入一个矩阵
输出:
转置后的矩阵
​
样例输入: 
3
1 2 3
4 5 6
7 8 9
样例输出:
1 4 7
2 5 8
3 6 9
​
​
2. 颈椎病治疗
最近云海学长一直对着电脑改bug, 颈椎不舒服, 希望各位小伙伴帮云海学长治治
提供一张图片, 将图片旋转后再发给云海学长, 这样学长看图的时候就需要歪着脖子, 时间久了, 颈椎病就治好了
​
输入一个数字构成的矩形, 将矩形的值进行90度旋转后打印
​
输入:
第一行 正整数n(1<n<10), 表示矩阵的边长
随后输入一个矩阵
输出:
90度旋转后的矩阵
​
样例输入: 
3
1 2 3
4 5 6
7 8 9
样例输出:
7 4 1
8 5 2
9 6 3
3. 杨辉三角
输入n(1<n<10), 打印高度为n的杨辉三角
样例输入: 5
样例输出:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
*4. 包围圈
东东哥在一场军事演练中, 需要对一片正方形森林进行排查, 
为了防止被包围, 东东哥需要先排查外围才能进一步深入
输入: 正整数n(1<n<10),  表示森林的边长
输出: 东东哥排查森林的顺序
​
样例输入:
4
样例输出:
1   2   3   4
12 13 14  5
11 16 15  6
10   9  8   7

解答

1.矩阵转置

#include<iostream>
using namespace std;
​
const int N = 10;
​
//按数字顺序生成二维数组
void FuZhi(int n,int a[][10])
{
    int k = 0; 
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            k++;
            a[i][j] = k;
        }
    }
}
​
//转置,行和列互换
void ZhuanZ(int n,int a[][N])
{
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < n; j++)
        {
            if (i > j)
            {
                int t = a[i][j];
                a[i][j] = a[j][i];
                a[j][i] = t;
            }
        }
    }
}
​
//打印
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CtrlCherry

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值