P1428
# P1428 小鱼比可爱 (数组的注入与调用, for循环的运用)
**题目描述:**输入一个数字表示鱼儿总数,输入对应总数的鱼儿颜值,随后进行比较,全部为向左比较,输出每个鱼儿高于左边的鱼数
输入格式
6
4 3 0 5 1 2
1
2
2
1
2
2
输出
0 0 0 3 1 2
1
1
知识点:
这题要依次为数组中的每一位注入数值就需要用到for循环进行注入, 在比较环节也可以运用for循环进行比较
代码如下
#include<iostream>
using namespace std;
int main(){
int fishnum;
int a[101]={0};//一定要初始化数组,不然指针里会有数据残留,{0}就是初始化
int b[101]={0};
cin >> fishnum;
for (int i = 1; i <= fishnum; i++)//运用for循环把a[1]到a[n]都注入想要输入的文字
{
cin >> a[i];//这里就可以直接输入数字了
}
for (int i = 1; i <= fishnum;i++)//这里照旧进行一次循环,起作用等于枚举(每一个都尝试)每一个a[i]值
{
for (int j = i; j >= 1;j--)//而这里则是在以i为起点向前(左)枚举每一个比a[i]小的数字
{
if(a[i] > a[j]){ //运用if判断左边与右边i的大小,成立则让对应的空数组
b[i]++; //位置b[i]自增,最终获得所有比自己小的数字
}
}
}
for (int i = 1; i <= fishnum;i++) //用for循环打印
{
cout << b[i] << " ";
}
return 0;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
在线编辑 (opens new window)
最近编辑时间: 2024/01/25 20:50:42