lbj学习日记 06 一维数组和二维数组刷题课

ps:本贴为小白学习日记,基础到地下室,大神勿喷
本次所刷的题目均来自网络,本人给出关于题目自己的解法。
本期的题目来自这位大神,他的c++基础小题库大家感兴趣的可以传送过去。

1 逆序输出
从键盘输入n个整数(n<100),存放在一个一维数组中,逆序输出能被3整除 的元素,并逆序输出数组下标为3的倍数的元素。
输入格式:第一个整数为个数n,后续为n个整数
输出格式:第一行能被3整除的元素,第二行为下标为3的倍数的元素,各个数值之间用空格分隔。
Sample Input
10 2 7 9 10 5 4 3 6 8 20
Sample Output
6 3 9
20 3 10 2

#include<iostream>
using namespace std;
int main()
{
    int n;//定义数组个数
    cin>>n;
   const int max=100;
     if(n<=100)
   {
       int shuzu[n];
       for(int i=0;i<n;i++)
      {
        cin>>shuzu[i];

      }
      for(int i=n;i>0;i--)//第一行输出
      {
          if(shuzu[i]%3==0)
          {
              cout<<shuzu[i]<<" ";
          }

      }cout<<endl;
      for(int i=n-1;i>=0;i--)//第二行输出
      {
          if(i%3==0)
          {
              cout<<shuzu[i]<<" ";
          }

      }cout<<endl;


    }
    else{cout<<"数组大小超出本体界限";}
}


2.逆序存储
从键盘输入n(n<100)个整数,存放在一个一维数组a中,将它们逆序存放在另一个整型数组b中,并按b数组中下标从小到大的顺序输出下标为3的倍数的数组元素。
输入格式:第一个数为数组中元素个数n,之后为n个元素。
输出格式:下标为3的倍数的元素,各个数值之间用空格分隔。
Sample Input
10 2 7 9 10 5 4 3 6 8 20
Sample Output
20 3 10 2

#include <iostream>

using namespace std;

int main()
{
    const int max=100;
    int n;//定义数组长度
    cin>>n;
    int a[n],b[n];
    if(n<=100)
    {
        for(int i=0;i<n;i++)//输入数组并逆序存储
        {
            cin>>a[i];
            b[n-i-1]=a[i];

        }
        for(int i=0;i<n;i++)
        {
             if(i%3==0)
             {
                cout<<b[i]<<" ";
             }

        }
    }
    return 0;
}

3.斐波那契数列
输入一个正整数n(n<100),将斐波那契数列的前n项保存到一维数组中,并输出数组中对3取余为2的元素。
斐波那契数列为:0 1 1 2 3 5 8 13 21 34 55……,起始项为第0项。
(斐波那契数列:从第三项开始,每一项等于前两项的和。)
Sample Input
10
Sample Output
2 5 8

#include <iostream>

using namespace std;

int main()
{
    const int max=100;
    int n=0;
    int a[max];
    cin>>n;
    a[0]=0;a[1]=1;
    for(int i=2;i<n;i++)
    {
       a[i]=a[i-1]+a[i-2];
    }
    for(int i=0;i<n;i++)
    {
        if(a[i]%3==2)
        {
            cout<<a[i]<<" ";
        }
    }
    return 0;
}

4.指定位置插入
从键盘输入任意个整数(以0结束,假设个数不超过100个),从0下标开始依次存放在一维数组中,再输入插入位置pos(0<=pos<=n)及被插入的元素x,将x插入到数组的pos下标处pos。输出插入后数组中的所有元素。
Sample Input
8 2 17 9 11 5 4 3 6 21 20 0
8 100
Sample Output
8 2 17 9 11 5 4 3 100 6 21 20

ps :由于输入一系列不知道个数的数并把它存入数组我暂时还没有吃透,所以此题我暂时做不出来,留待以后解决。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

山海经密码锁

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

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

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

打赏作者

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

抵扣说明:

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

余额充值