全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之一维数组(应用一)

news/2025/1/16 17:44:35/

实战训练1—小明摘桃子

问题描述:

小明家院子里有棵桃树,桃子成熟的时候,小明就会带着30厘米高的板凳跑去摘桃子,当他不能直接用手摘到桃子的时候,就会踩到板凳上再试试。桃树上每次都是10个桃子,现在已知桃子到地面的高度,以及小明把手伸直的时候能够达到的最大高度,请帮小明算一下他能够摘到的桃子的数目。假设他碰到桃子,就会掉下来。

输入格式:

输入包括两行数据。

第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个桃子到地面的高度,两个相邻的整数之间用一个空格隔开。

第二行只包括一个100∼130 (包含100和130 )的整数(以厘米为单位),表示小明把手伸直的时候能够达到的最大高度。

输出格式:

输出一行,这一行只包含一个整数,表示小明能够摘到的桃子的数目。

输入输出样例:

输入样例1

输出样例1

110 198 150 140 139 124 167 198 200 115

115

5

输入样例2

输出样例2

120 188 157 135 149 128 162 193 200 116

130

6

问题分析:

根据题意,首先考虑桃子的存储问题,由于涉及到的桃子数量多,所以使用刚学习的数组来解决此问题,数组的数据类型使用int类型,长度为10,定义好数组之后,使用循环来输入每个桃子的高度存储到数组元素中;然后输入小明伸直手臂的高度,加上板凳的30cm,即为小明可以够到的最大高度;紧接着将小明可以达到的最大高度依次和桃子的高度进行比较,只要桃子的高度小于等于最大高度,即可摘到桃子。具体程序代码如下:

#include<bits/stdc++.h>
using namespace std;
int main(){const int MAXLEN =10;//定义常变量MAXLEN表示数组的长度,并初始化为10 int count=0;//定义可以摘到的桃子数量变量count并初始化为0 int a[MAXLEN];//定义数组a for(int i =0;i<10;i++){//数组下标从0开始到10-1=9结束 scanf("%d",&a[i]);//依次输入每个桃子高度到数组元素 }int cd;//定义小明手臂伸直可以达到的高度cd cin>>cd;//输入cd的值 cd = cd+30;//加上板凳可以达到的最大高度 for(int i=0;i<10;i++){ if(cd>=a[i])//最大高度大于等于桃子的高度 count++;//则将count加1 }printf("%d\n",count);//输出count的值 return 0;
}

实战训练2—小明的数字游戏

问题描述:

输入n个整数,以0结束,反向输出。(0<=n<=100)

输入格式:

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

输出格式:

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

输入输出样例:

输入样例1

输出样例1

1 2 3 4 5 0

5 4 3 2 1

输入样例2

输出样例2

500 400 200 0

200 400 500

问题分析:

根据题意,需要输入不确定个数的整数,最大的个数不超过100个,所以在定义数组的长度可以在最大个数的基础上加5,总长度为105,数组的数据类型为int类型,使用循环为数组每个元素依次赋值,在输入的过程中,一旦判断发现数组元素的值为0,那么停止输入数组元素,然后从最后一个元素开始,依次输出每个数组元素,具体程序代码如下:

#include<bits/stdc++.h>
using namespace std;
int main(){const int MAXLEN=105;//定义常变量MAXLEN表示数组的长度 int a[MAXLEN];//定义长度为MAXLEN的int类型数组 int i;//定义数组的最后一个元素下标 for(i=0;i<MAXLEN;i++){//从0开始到MAXLEN scanf("%d",&a[i]);//依次输入数组元素的值 if(a[i]==0)//如果数组元素的值为0 break;//停止输入跳出循环 }   for(int j=i-1;j>=0;j--){//由于最后一个元素是0,所以从倒数第二个数组元素开始到0, printf("%d ",a[j]);//依次输出每个数组元素 } return 0;
}

实战训练3—计算报名费

问题描述:

下面是一个兴趣班的报名费表格:

名称

费用

奥数

28.9元/节

英语角

32.7元/节

几何世界

45.6元/节

航天模组

78元/节

围棋

35元/节

C++编程

86.2元/节

民乐

27.8元/节

国画

43元/节

流行舞

56元/节

趣味编程

65元/节

给定每种兴趣班的报名节数,编程计算应付的总费用。

输入格式:

输入一行,包含10个整数(大于等于0,小于等于100),分别表示购买奥数、英语角、几何世界、航天模组、围棋、c++编程、民乐、国画、流行舞、趣味编程的节数。每两个整数用一个空格分开。

输出格式:

输出一行,包含一个浮点数表示应付的总费用,精确到小数点后一位。

输入输出样例:

输入样例1

输出样例1

2 6 1 5 3 8 2 1 7 3

2169.8

输入样例2

输出样例2

9 3 2 1 4 5 8 7 3 6

2179.8

问题分析:

根据题意,每门兴趣课都有对应的价格,因此采用数组将价格进行存储,需要定义一个长度为10的double类型数组,然后依次输入每门兴趣班的节数,节数和对应的价格进行相乘,并累加到总价格中,具体程序代码如下:


#include<bits/stdc++.h>
using namespace std;
int main(){const int MAXLEN=10;//定义常变量MAXLEN表示数组的长度  double price[MAXLEN]={28.9,32.7,45.6,78,35,86.2,27.8,43,56,65};//定义长度为10的double类型数组存储价格 double sum=0;//定义总价格变量sum并初始化为0 for(int i=0;i<10;i++){//然后依次输入每门兴趣课的节数,兴趣课节数和数组中的价格一一对应 int tmp;//定义节数变量tmp scanf("%d",&tmp);//输入tmp的值 sum += price[i]*tmp;//将这门课的价格累加到总价格sum中 }printf("%0.1lf\n",sum);//格式化输出sum的值   return 0;
}

http://www.ppmy.cn/news/1563673.html

相关文章

RabbitMQ(四)

SpringBoot整合RabbitMQ SpringBoot整合1、生产者工程①创建module②配置POM③YAML④主启动类⑤测试程序 2、消费者工程①创建module②配置POM③YAML文件内配置&#xff1a; ④主启动类⑤监听器 3、RabbitListener注解属性对比①bindings属性②queues属性 SpringBoot整合 1、生…

【Vim Masterclass 笔记12】S06L26 + L27:Vim 文本的搜索、查找及替换同步练习(含点评课)

文章目录 S06L26 Exercise 07 - Search, Find, and Replace1 训练目标2 操作指令2.1. 打开 search-practice.txt 文件2.2. 同一行内的搜索练习2.3. 当前文件内的搜索练习2.4. 单词搜索练习2.5. 全局替换练习 3 退出 Vim S06L27 同步练习点评课 写在前面 Vim 的文本检索、查找与…

Web前端------HTML块级和行内标签之块级标签

一.块级标签介绍 div-作用&#xff1a;主要结合CSS用来布局 等价于一个容器&#xff0c;里面可以包含其他标签&#xff0c;用来结合CSS修饰写在它内部其他结构 二.代码展示 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8…

Spring MVC流程一张图理解

由于现在项目中大部分都是使用springboot了&#xff0c;但是ssm中的springmvc还是可以了解一下 1 、用户发送请求至前端控制器 DispatcherServlet 。 2 、 DispatcherServlet 收到请求调用 HandlerMapping 处理器映射器。 3 、处理器映射器找到具体的处理器 ( 可以根据 xml 配…

【自然语言处理】P1 自然语言处理概述

目录 什么是自然语言处理定义常用术语自然语言处理的任务自然语言处理的发展历程自然语言处理的挑战自然语言处理的常用技术TF-IDF词嵌入分词循环神经网络注意力机制预训练 什么是自然语言处理 定义 自然语言指的是人类的语言&#xff0c;如中文、英语等&#xff0c;处理特指…

FPGA EDA软件的位流验证

位流验证&#xff0c;对于芯片研发是一个非常重要的测试手段&#xff0c;对于纯软件开发人员&#xff0c;最难理解的就是位流验证。在FPGA芯片研发中&#xff0c;位流验证是在做什么&#xff0c;在哪些阶段需要做位流验证&#xff0c;如何做&#xff1f;都是问题。 我们先整体的…

Node.js——http 模块(一)

个人简介 &#x1f440;个人主页&#xff1a; 前端杂货铺 &#x1f64b;‍♂️学习方向&#xff1a; 主攻前端方向&#xff0c;正逐渐往全干发展 &#x1f4c3;个人状态&#xff1a; 研发工程师&#xff0c;现效力于中国工业软件事业 &#x1f680;人生格言&#xff1a; 积跬步…

Onedrive精神分裂怎么办(有变更却不同步)

Onedrive有时候会分裂&#xff0c;你在本地删除文件&#xff0c;并没有同步到云端&#xff0c;但是本地却显示同步成功。 比如删掉了一个目录&#xff0c;在本地看已经删掉&#xff0c;onedrive显示已同步&#xff0c;但是别的电脑并不会同步到这个删除操作&#xff0c;在网页版…