2025-4-20-C++ 学习 数组(1)

数组

  • 2025-4-20-C++ 学习 数组(1)
  • P1428 小鱼比可爱
    • 题目描述
    • 输入格式
    • 输出格式
    • 输入输出样例 #1
      • 输入 #1
      • 输出 #1
    • 说明/提示
    • 题解代码
  • P1427 小鱼的数字游戏
    • 题目描述
    • 输入格式
    • 输出格式
    • 输入输出样例 #1
      • 输入 #1
      • 输出 #1
    • 说明/提示
        • 数据规模与约定
    • 题解代码
  • P5727 【深基5.例3】冰雹猜想
    • 题目描述
    • 输入格式
    • 输出格式
    • 输入输出样例 #1
      • 输入 #1
      • 输出 #1
    • 说明/提示
    • 题解代码
  • P1047 [NOIP 2005 普及组] 校门外的树
    • 题目描述
    • 输入格式
    • 输出格式
    • 输入输出样例 #1
      • 输入 #1
      • 输出 #1
    • 说明/提示
    • 题解代码
  • P5728 【深基5.例5】旗鼓相当的对手
    • 题目描述
    • 输入格式
    • 输出格式
    • 输入输出样例 #1
      • 输入 #1
      • 输出 #1
    • 说明/提示
    • 题解代码
  • P5729 【深基5.例7】工艺品制作
    • 题目描述
    • 输入格式
    • 输出格式
    • 输入输出样例 #1
      • 输入 #1
      • 输出 #1
    • 说明/提示
    • 题解代码

2025-4-20-C++ 学习 数组(1)

  数组,开始吧,不尽的循环。

P1428 小鱼比可爱

题目描述

人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱程度,很显然整数越大,表示这只鱼越可爱,而且任意两只鱼的可爱程度可能一样。由于所有的鱼头都朝向左边,所以每只鱼只能看见在它左边的鱼的可爱程度,它们心里都在计算,在自己的眼力范围内有多少只鱼不如自己可爱呢。请你帮这些可爱但是鱼脑不够用的小鱼们计算一下。

输入格式

第一行输入一个正整数 n n n,表示鱼的数目。

第二行内输入 n n n 个正整数,用空格间隔,依次表示从左到右每只小鱼的可爱程度 a i a_i ai

输出格式

一行,输出 n n n 个整数,用空格间隔,依次表示每只小鱼眼中有多少只鱼不如自己可爱。

输入输出样例 #1

输入 #1

6
4 3 0 5 1 2

输出 #1

0 0 0 3 1 2

说明/提示

对于 100 % 100\% 100% 的数据, 1 ≤ n ≤ 100 1 \leq n\leq 100 1n100 0 ≤ a i ≤ 10 0 \leq a_i \leq 10 0ai10

题解代码

#include 
using namespace std;

int main()
{
   
    int num;
    cin >> num;
    int nums[num];
    for(int k1=0;k1<num;++k1)
        {
   
            cin >> nums[k1];
        }
    int ans[num];
    for(int k1=0;k1<num;++k1)
        {
   
            int tmp = 0;
            for(int k2=0;k2<k1;++k2)
                {
   
                    if(nums[k2] < nums[k1])
                    {
   
                        tmp++;
                    }
                }
            ans[k1] = tmp;
        }
    for(int k1=0;k1<num;++k1)
        {
   
            cout << ans[k1] << " ";
        }
    return 0;
}

P1427 小鱼的数字游戏

题目描述

小鱼最近被要求参加一个数字游戏,要求它把看到的一串数字 a i a_i ai(长度不一定,以 0 0 0 结束),记住了然后反着念出来(表示结束的数字 0 0 0 就不要念出来了)。这对小鱼的那点记忆力来说实在是太难了,你也不想想小鱼的整个脑袋才多大,其中一部分还是好吃的肉!所以请你帮小鱼编程解决这个问题。

输入格式

一行内输入一串整数,以 0 0 0 结束,以空格间隔。

输出格式

一行内倒着输出这一串整数,以空格间隔。

输入输出样例 #1

输入 #1

3 65 23 5 34 1 30 0

输出 #1

30 1 34 5 23 65 3

说明/提示

数据规模与约定

对于 100 % 100\% 100% 的数据,保证 0 ≤ a i ≤ 2 31 − 1 0 \leq a_i \leq 2^{31} - 1 0ai2311,数字个数不超过 100 100 100

题解代码

  还挺有趣的,要照顾好循环的上下限。

#include 
using namespace std;

int main()
{
   
    int nums[100];
    int k1 = 0;
    while(1)
        {
   
            cin >> nums[k1];
            if(nums[k1] == 0) break;
            k1++;
        }
    for(int k2 = k1-1;k2>=0;--k2)
        {
   
            cout << nums[k2] << " ";
        }
    return 0;
}

P5727 【深基5.例3】冰雹猜想

题目描述

给出一个正整数 n n n,然后对这个数字一直进行下面的操作:如果这个数字是奇数,那么将其乘 3 3 3 再加 1 1 1,否则除以 2 2 2。经过若干次循环后,最终都会回到 1 1 1。经过验证很大的数字( 7 × 1 0 11 7\times10^{11} 7×1011)都可以按照这样的方式比变成

你可能感兴趣的:(C/C++语言学习历程,c++,学习,算法,数组,洛谷)