首页 > 编程语言 >C++最自信的鱼

C++最自信的鱼

时间:2023-11-06 16:47:29浏览次数:31  
标签:程度 int 左边 C++ ++ 整数 自信 可爱

题目描述

人比人,气死人;鱼比鱼,难死鱼。小鱼最近参加了一个“比可爱”比赛,比的是每只鱼的可爱程度。

参赛的鱼被从左到右排成一排,头都朝向左边,然后每只鱼会得到一个整数数值,表示这只鱼的可爱程度,很显然整数越大,表示这只鱼越可爱,而且任意两只鱼的可爱程度可能一样。

由于所有的鱼头都朝向左边,所以每只鱼只能看见在它左边的鱼的可爱程度,它们心里都在计算,在自己的眼力范围内有多少只鱼不如自己可爱呢。请你帮这些可爱但是鱼脑不够用的小鱼们计算一下。

输入格式

**第一行输入一个整数\(n\),表示鱼的数目。第二行内输入\(n\)个整数,用空格间隔,依次表示从左到右每只小鱼的可爱程度。可爱程度不超过100,n≤100

输出格式

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

样例

输入样例

6
4 3 0 5 1 2

输出样例

0 0 0 3 1 2

解题思路:

高清代码

遍历每只鱼,对于每只鱼\(i\),从左往右依次比较鱼i与所有左边的鱼的可爱程度,记录比鱼\(i\)可爱程度小的鱼的数量。
具体步骤如下:1.读取输入的鱼的数目\(n\)和每只鱼的可爱程度,并保存在列表中。
2.创建一个和鱼的数目n相同长度的列表\(c\),用于保存每只鱼眼中有多少只鱼不如自己可爱。
3.遍历每只鱼,对于每只鱼\(i\),从左往右依次比较鱼\(i\)与所有左边的鱼的可爱程度,记录比鱼\(i\)可爱程度小的鱼的数量,并将该数量保存在列表\(c\)的第\(i\)个位置。
4.将列表\(c\)转化为字符串,用空格分隔开,并输出。

#include  <iostream>
#include <stdio.h>
using namespace std;
int n;
int main() 
{
    cin >> n;   
    int a[n];
    for (int i = 0; i < n; i++)
    {
        cin >> a[i];
    }
    int b[n] = {0};
    for (int i = 0; i < n; i++) 
    {
        for (int j = 0; j < i; j++) 
        {
            if (a[j] < a[i]) 
            {
                b[i]++;
            }
        }
    }
    for (int i = 0; i < n; i++) 
    {
        cout << c[i] << " ";
    }
    return 0;
}

\(End\)

标签:程度,int,左边,C++,++,整数,自信,可爱
From: https://www.cnblogs.com/AZAjr09-123/p/17813083.html

相关文章

  • C++U5-04-广度优先搜索1
    广搜逻辑  广搜代码核心思路 广搜伪代码 思维导图1、[【广搜】走迷宫] 求最少需要多少步,考虑使用广搜。从起点开始进行搜索,规则只能向上下左右走动,当搜索到终点时就结束。广搜的核心思路:初始化一个队列和数组将起点入队并标记当队列不为空且没到终点的时候 取......
  • C++使用冒泡排序算法对数组进行排序
     #include<iostream>//包含iostream库usingnamespacestd;//使用标准命名空间intmain(){//主函数intarr[]={5,3,2,8,6,7,1,4};//定义并初始化数组intn=sizeof(arr)/sizeof(arr[0]);//计算数组长度//使用冒泡排序算法对数组进......
  • 力扣905 按奇偶排序数组 C++ 双指针+一次遍历
    905.按奇偶排序数组classSolution{public:vector<int>sortArrayByParity(vector<int>&nums){inti=0,j=nums.size()-1;while(i<nums.size()-1&&i<j){while(i<j&&(nums[i]%2==0))i++;......
  • C++_18_多态 - 重写版
     多态:面向对象三大概念:封装、继承、多态!可想而知多态是何等的重要多态的概念以及前提条件:编译期绑定(静态联编):函数入口地址和函数名在编译期间绑定,即编译期间确定函数名和入口地址唯一对应运行期绑定(动态联编):函数入口地址和函数名在编译期间不绑定......
  • C++_17_多继承和虚基类 - 重写版
    多继承单继承:一个派生类只有一个基类,这就是单基类继承,简称“单继承”多继承:一个派生类允许有两个及以上的基类,这就是多基类继承,简称“多继承”单继承中,派生类是对基类的特例化,例如编程类书籍是书籍中的特例。而多继承中,派生类是所有基类的一种组合。在多继承中,派......
  • C++_15_友元函数和友元类 - 重写版
    友元函数和友元类友元函数:通过friend关键字,将不属于当前类的函数在当前类中加以声明,使其成为友元函数,同时该函数能够访问private属性的成员变量。友元类:有有元函数,自然也能有友元类,通过friend关键字,将类A在类B中声明,那么类A会成为类B的友元类注意:1、友......
  • C++_14_常量指针—this指针 - 重写版
    常量指针—this指针this指针:成员函数一般都会拥有一个常量指针(this),指向调用函数的对象,储存的是改对象的首地址(注意:静态成员函数是没有this指针的)//标准写法classbook{public:book(){this->price=0.0;this->title=NULL;}private:doubleprice;char......
  • C++_22_string类型 - 重写版
    string类型·变量定义C++中提供了一个string内建数据类型,它可以替代C语言中的char*数组。使用string数据类型时,需要在程序中包含头文件<string>#include<iostream>#include<string>usingnamespacestd;intmain(){strings1;//......
  • C++_21_重载、重写、重定义 - 重写版
    1、重载同一作用域的同名函数,重复定义;参数格式、参数顺序或者参数类型不同;函数重载和函数的返回值没有任何关系;(const类型的重载本质上是参数类型不同) 2、重写(覆盖)有继承关系子类(派生类)重写父类(基类)的虚函数函数的返回值,函数名字,函数参数,必须和基类中的虚函数一致,主要就是覆盖......
  • C++_20_操作符重载和函数重载 - 重写版
    操作符(运算符)重载 操作符重载指的是将C++提供的操作符进行重新定义或者多重定义,使之满足我们所需要的一些功能。在C++中,经常有需要对多个对象进行算术运算,但是对象比不是基本的数据类型,所以这些运算符都无法执行。为了让程序识别这些运算符,就需要对运算符进行重载......