信息学编程基础练习(11)
一维数组
01:与指定数字相同的数的个数
【问题描述】
请输出一个整数序列中,与指定数字相同的数的个数。
输入
输入有三行:
第1行是N,表示整数序列的长度。(N <= 100);
第2行是N个整数,整数之间用一个空格分开;
第3行包含一个整数,即指定的整数m。
输出
输出为N个数中与m相同的数的个数。
【样例输入】
3
2 3 2
2
【样例输出】
2
#include "iostream"using namespace std;int main(){
int count; int time=0; int num[100]; cin>>count; for(int i=0;i {
cin>>num[i]; } int cmp; cin>>cmp; for(int i=0;i {
if(cmp==num[i]) time++; } cout< return 0;}
02:陶陶摘苹果
【问题描述】
陶陶家的后院里有一棵苹果树,每年秋天树上就会结出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
#include "iostream"using namespace std;int main(){
int num[10]; for(int i=0;i<10;i++) {
cin>>num[i]; } int high; cin>>high; int count=0; for(int i=0;i<10;i++) {
if(high+30>=num[i]) count++; } cout< return 0;}
03:计算书费
【问题描述】
下面是一个图书的单价表:
算法概论 28.9 元/本
数据结构 32.7 元/本
数字逻辑 45.6元/本
C++程序设计 78 元/本
人工智能 35 元/本
计算机体系结构 86.2 元/本
编译原理 27.8元/本
操作系统 43 元/本
计算机网络基础 56 元/本
JAVA程序设计 65 元/本
给定每种图书购买的数量,编程计算应付的总费用。
输入
输入一行,包含10个整数(大于等于0,小于等于100),分别表示购买的《算法概论》、《数据结构》、《数字逻辑》、《C++程序设计》、《人工智能》、《计算机体系结构》、《编译原理》、《操作系统》、《计算机网络基础》、《JAVA程序设计》的数量(以本为单位)。每两个整数用一个空格分开。
输出
输出为一行,包含一个浮点数f,表示应付的总费用。精确到小数点后一位。
【样例输入】
1 5 8 10 5 1 1 2 3 4
【样例输出】
2140.2
#include "iostream"#include "iomanip"using namespace std;int main(){
double money[10]={
28.9,32.7,45.6,78,35,86.2,27.8,43,56,65}; int num[10]; for(int i=0;i<10;i++) {
cin>>num[i]; } double sum=0; for(int i=0;i<10;i++) {
// cout< sum+=num[i]*money[i]; } cout<1)< return 0;}
04:数组逆序重放
【问题描述】
将一个数组中的值,按逆序重新存放。例如,原来的顺序为8,6,5,4,1。要求逆序改为1,4,5,6,8。
输入
输入为两行:第一行数组中元素的个数n(1
输出
输出为一行:输出逆序后数组的整数,每两个整数之间用空格分隔。
【样例输入】
5
8 6 5 4 1
【样例输出】
1 4 5 6 8
#include "iostream"#include "iomanip"using namespace std;int main(){
int count; int num[100]; cin>>count; for(int i=0;i {
cin>>num[i]; } int n=count; int temp = count-1; if(count%2==0) count=count/2; else count=(count-1)/2; for(int i=0;i {
int m; m=num[i]; num[i]=num[temp]; num[temp]=m; temp--; } for(int i=0;i {
cout<" "; } return 0;}
05:年龄与疾病
【问题描述】
人民医院想统计一下某项疾病的获得,与年龄是否有关,需要对以前的诊断记录进行整理,按照0-18、19-35、36-60、61以上(含61)四个年龄段统计的患病人数占总患病人数的比例。
输入
输入共2行,第一行为过往病人的数目n(0 < n <= 100),第二行为每个病人患病时的年龄。
输出</