信息学奥赛一本通基础篇例4.1、例4.2、练4.1、练4.2、练4.3、练4.4答案及自编课后习题

【例4.1】交换两个数的位置

【题目描述】

        现有两个整型变量 a 和 b,分别存放了整数 20 和 22,编程实现交换两个变量里的数,并输出结果。

【样例输入】

【样例输出】 

a=22

b=20

【代码实现】

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int a = 20;
    int b = 22;
    swap(a,b);
    cout << "a=" << a << "\nb=" << b;
    return 0;
}

【科普亿下】

swap,即交换函数。swap的头文件是#include <algorithm>。

可以运用为:

#include <iostream>
using namespace std;
int main()
{
    int csgo;
    int minecraft;
    cin >> csgo >> minecraft;
    swap(csgo,minecraft);
    cout << csgo << " " << minecraft;
    return 0;
}

 就像这样,我们交换了csgo和minecraft的值。(注:我忘写了#include<algorithm>)

【例4.2】求天安门广场的面积(小学生C++趣味编程)

【题目描述】

        天安门广场在北京市中心,它南北长 880 米,东西宽 500 米,试编一程序,计算天安门广场面积是多少平方米。

【数学引入】

        S\blacksquare =ab

【样例输入】

 【样例输出】

440000

【代码实现】

#include <iostream>
using namespace std;
int main()
{
    cout << 880 * 500;
    return 0;
}

【练4.1】 阿布拉1(小学生C++趣味编程)

【题目描述】

        尼克是一位好学的学生,他经常做实验。有一天他在做实验的时候需要交换一瓶10毫升的红墨水和一瓶20毫升的蓝墨水,但他不会,便向狐狸老师求助,狐狸老师念了一句咒语“阿布拉”帮助了尼克。试编一程序,模拟这一过程。

【样例输入】

【样例输出】

a=10 b=20

a=20 b=10

【代码实现】 

#include <iostream>
#include <algorithm>
using namespace std;
int main()
{
    int r = 10,b = 20;
    cout << "a=" << r << " b=" << b;
    swap(r,b);
    cout << "\na=" << r << " b=" << b;
    return 0;
}

【练4.2】列朋波骨

【题目描述】

        人们在非洲列朋波山脉的一个岩洞中发现了个骨头,是古人刻痕计数用的。尼克每天背一首诗,并模仿古人在木棒上刻一条痕。连续刻了五天后,问有多少条刻痕。

【样例输入】

无 

【样例输出】

【代码实现】

#include <iostream>
using namespace std;
int main()
{
    cout << 1 * 5;
    return 0;
}

【练4.3】3个连续数

【题目描述】

给定三个数a、b、c,a=100,求b、c是多少(他们是连续的数)

【样例输入】

【样例输出】 

100

101

102

【代码实现】

#include<iostream>
using namespace std;
int main()
{
    int a = 100;
    cout << a << "\n" << a + 1 << "\n" << a + 2;
}

【练4.4】牛吃牧草

【题目描述】 

有一个牧场,牧场上的牧草每天都在匀速生长,这片牧场可供 15 头牛吃 20 天,或可供 20 头牛吃 10 天,那么,这片牧场每天新生的草量可供几头牛吃 1 天?

【样例输入】

【样例输出】

10 

【代码实现】

#include<iostream>
using namespace std;
int main()
{
    cout << (15 * 20 - 20 * 10) / (20 - 10);
    return 0;
}

【课后练习】

已知2a=3b=42,求a×b的值。

【样例输入】

无 

【样例输出】

a=21

b=14

a×b=294

 

 

 

 

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
信息学奥赛一本通提高篇》是一本针对信息学奥林匹克竞赛的学习资料,在提高信息学竞赛能力方面非常有帮助。这本书主要分为四个部分,包括基础知识、经典题型、解题技巧和实战训。 首先,基础知识部分系统地介绍了信息学竞赛中常见的数据结构、算法和编程技巧。通过深入理解这些基础知识,我们可以建立起解题的思维框架,提高解题的效率和准确度。 其次,经典题型部分列举了一些常见的信息学竞赛题型,并给出了详细的解题分析。通过研究这些经典题目的解题思路和方法,我们可以学习到一些解题的常用套路和技巧,提高解题的能力。 接下来,解题技巧部分介绍了一些常用的解题技巧,如递推法、贪心算法动态规划等。通过学习这些解题技巧,我们可以更加灵活地应用不同的算法思想,解决更加复杂的竞赛题目。 最后,实战训部分提供了大量的信息学竞赛题目和习,帮助我们通过实践巩固所学的知识和技巧。这些题目有不同的难度和类型,可以提供充分的习机会,并提供了详细的解题思路和方法供参考。 总结来说,《信息学奥赛一本通提高篇》是一本非常实用的学习资料,能够帮助学生提高信息学竞赛能力。通过深入学习基础知识、研究经典题型、掌握解题技巧和进行实战训,我们可以有效地提升在信息学竞赛中的表现,并取得更好的成绩。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值