语法基础(数组)


作者:进击攻城狮
个人主页:欢迎访问我的主页
首发时间:2022年8月18日星期四
订阅专栏:刷题
个人信条:星光不问赶路人,岁月不负有心人。
如果文章有错误,欢迎在评论区指正。
🎉 支持我:点赞👍+收藏⭐️+留言📝

在这里插入图片描述


753. 平方矩阵 I

输入整数 NN,输出一个 NN 阶的回字形二维数组。

数组的最外层为 11,次外层为 22,以此类推。

输入格式

输入包含多行,每行包含一个整数 NN。

当输入行为 N=0N=0 时,表示输入结束,且该行无需作任何处理。

输出格式

对于每个输入整数 NN,输出一个满足要求的 NN 阶二维数组。

每个数组占 NN 行,每行包含 NN 个用空格隔开的整数。

每个数组输出完毕后,输出一个空行。

数据范围

0≤N≤1000≤N≤100

输入样例:
1
2
3
4
5
0
输出样例:
1

1 1
1 1

1 1 1
1 2 1
1 1 1

1 1 1 1
1 2 2 1
1 2 2 1
1 1 1 1

1 1 1 1 1
1 2 2 2 1
1 2 3 2 1
1 2 2 2 1
1 1 1 1 1
#include <iostream>
#include <cmath>

using namespace std;


int main(){
    int n;

    while (cin >> n, n){

        for (int i = 0; i < n; i ++){
            for(int j = 0; j < n; j ++){
                cout << min(min(i + 1, j + 1), min(n - i, n - j)) << " ";
            }
            cout << endl ;
        }
        cout << endl;
    }

    return 0;
}


740. 数组变换

输入一个长度为 2020 的整数数组 NN,将整个数组翻转,使得第一个元素成为倒数第一个元素,第二个元素成为倒数第二个元素,…,倒数第二个元素成为第二个元素,倒数第一个元素成为第一个元素。

输出翻转后的数组。

输入格式

输入包含 2020 个整数,每个数占一行。

输出格式

输出新数组中的所有元素,每个元素占一行。

输出格式为 N[i] = x,其中 ii 为元素编号(从 00 开始),xx 为元素的值。

数据范围

−100≤N[i]≤100−100≤N[i]≤100

输入样例:
0
-5
...
63
23
输出样例:
N[0] = 23
N[1] = 63
...
N[18] = -5
N[19] = 0
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int main(){
    int a[20];
    for(int i=0;i<20;i++){
        cin>>a[i];
    }
    // reserve(a);
    for(int i=19;i>=0;i--){
        cout<<"N["<<19-i<<"] = "<<a[i]<<endl;
    }
}

741. 斐波那契数列

输入整数 NN,求出斐波那契数列中的第 NN 项是多少。

斐波那契数列的第 00 项是 00,第 11 项是 11,从第 22 项开始的每一项都等于前两项之和。

输入格式

第一行包含整数 TT,表示共有 TT 个测试数据。

接下来 TT 行,每行包含一个整数 NN。

输出格式

每个测试数据输出一个结果,每个结果占一行,

结果格式为 Fib(N) = x,其中 NN 为项数,xx 为第 NN 项的值。

数据范围

0≤N≤600≤N≤60

输入样例:
3
0
4
2
输出样例:
Fib(0) = 0
Fib(4) = 3
Fib(2) = 1
#include<iostream>
using namespace std; 

   
const int N=1000000;
long fib[N]={0,1};
int main(){
   
    int n;
  
    for(int i=2;i<=n;i++)
        fib[i]=fib[i-1]+fib[i-2];
          cin>>n;
        while(n--){
            int m;
            cin>>m;
            cout<<"Fib("<<m<<") = "<<fib[m]<<endl;
     
        }
       
}

742. 最小数和它的位置

输入一个整数 NN 和一个长度为 NN 的整数数组 XX。

请你找到数组中最小的元素,并输出它的值和下标。

注意,如果有多个最小值,则返回下标最小的那个。

输入格式

第一行包含整数 NN。

第二行包含 NN 个用空格隔开的整数 X[i]X[i]。

输出格式

第一行输出 Minimum value: x,其中 xx 为数组元素最小值。

第二行输出 Position: y,其中 yy 为最小值元素的下标(下标从 00 开始计数)。

数据范围

1<N≤10001<N≤1000,
−1000≤X[i]≤1000−1000≤X[i]≤1000

输入样例:
10
1 2 3 4 -5 6 7 8 9 10
输出样例:
Minimum value: -5
Position: 4
#include<iostream>
using namespace std;
int main(){
    int n,min,o=0;
    cin>>n;
    int a[1000];
    cin>>a[0];
    min=a[0];
    for(int i=1;i<n;i++){
        cin>>a[i];
       if(min>a[i]){
           min=a[i];
           o=i;
       }
    }
    printf("Minimum value: %d\nPosition: %d",min,o);
    return 0;
    
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

进击攻城狮

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

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

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

打赏作者

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

抵扣说明:

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

余额充值