C++入门教程11:数组与循环综合

在C++语言部分,循环、数组和函数可以说是最最最最最常用的,函数还没学,先讲讲数组与循环
数组和循环都很常用,也都可以实现一些做不到的东西。
比如让你定义1000个变量,让你求1000的阶乘(这个要高精度)。
本期以习题为主。

1、与指定数字相同的数的个数

链接

【输入】
输入包含三行:
第一行为n,表示整数序列的长度(n≤100);
第二行为n个整数,整数之间以一个空格分开;
第三行包含一个整数,为指定的数字m。
【输出】
输出为n个数中与m相同的数的个数。
【输入样例】
3
2 3 2
2
【输出样例】
2

这个自然要数组了。
有两种做法,一种效率高,另一种占空间少。
记得看数据范围!
第一种(效率高):

停停停!

为什么要叫停呢?
看看这个:
在这里插入图片描述
这数据也太太太太太大了吧!
所以说这种做法不成立
在这里插入图片描述

那就另一种:

#include<bits/stdc++.h>
using namespace std;
int n,m,a[101],sum;
int main() {
    cin>>n;
    for(int i=1;i<=n;i++)
    {
    	cin>>a[i];
	}
	cin>>m;
	for(int i=1;i<=n;i++)
	{
		if(a[i]==m)
		sum++;
	}
	cout<<sum<<endl;

    return 0;
}

这种还是正确了,我们看到代码中用了两个循环,还用了累加器,当然,数组也没少。
好,下一题。

2、陶陶摘苹果

链接

【题目描述】
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
【输入】
包括两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
【输出】
包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
【输入样例】
100 200 150 140 129 134 167 198 200 111
110
【输出样例】
5

很简单对不对,这个题我见过也做过无数遍了,与上一题难度差不多,就是有个30cm的板凳,加上身高就行了。
代码:

#include<bits/stdc++.h>
using namespace std;
int n,m,a[101],sum;
int main() {
    n=10;
    for(int i=1;i<=n;i++)
    {
    	cin>>a[i];
	}
	cin>>m;
	for(int i=1;i<=n;i++)
	{
		if(a[i]<=m+30)
		sum++;
	}
	cout<<sum<<endl;

    return 0;
}

其他题

这个网站里有很多类似的题,大家可以去做做。
传送门
是数组和循环两个部分

下期预告

函数

猜你喜欢

转载自blog.csdn.net/liuzich/article/details/107593872