为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > 小学信息学竞赛C++编程信息学校本教材+讲解+练习

小学信息学竞赛C++编程信息学校本教材+讲解+练习

2021-07-27 15页 doc 4MB 182阅读

用户头像 个人认证

zai进

高级教师、市级骨干教师

举报
小学信息学竞赛C++编程信息学校本教材+讲解+练习PAGE\*MERGEFORMAT4PAGE\*MERGEFORMAT3小学信息学竞赛C++编程信息学校本教材创作:ZJ【可编辑】【附竞赛原题讲解】目录TOC\h\z\t"部分,1,课,2,读,2"HYPERLINK\l"_Toc78274289"第一部分我的新朋友PAGEREF_Toc78274289\h1HYPERLINK\l"_Toc78274290"第1课奇怪的电脑PAGEREF_Toc78274290\h2HYPERLINK\l"_Toc78274291"第2课购买电影票...
小学信息学竞赛C++编程信息学校本教材+讲解+练习
PAGE\*MERGEFORMAT4PAGE\*MERGEFORMAT3小学信息学竞赛C++编程信息学校本教材创作:ZJ【可编辑】【附竞赛原题讲解】目录TOC\h\z\t"部分,1,课,2,读,2"HYPERLINK\l"_Toc78274289"第一部分我的新朋友PAGEREF_Toc78274289\h1HYPERLINK\l"_Toc78274290"第1课奇怪的电脑PAGEREF_Toc78274290\h2HYPERLINK\l"_Toc78274291"第2课购买电影票PAGEREF_Toc78274291\h4HYPERLINK\l"_Toc78274292"第3课建一座金字塔PAGEREF_Toc78274292\h7HYPERLINK\l"_Toc78274293"第二部分独木小桥顺序过PAGEREF_Toc78274293\h9HYPERLINK\l"_Toc78274294"第1课一碗水和一碗油PAGEREF_Toc78274294\h10HYPERLINK\l"_Toc78274295"第2课计算面积的神器PAGEREF_Toc78274295\h12HYPERLINK\l"_Toc78274296"第3课小朋友的平均年龄PAGEREF_Toc78274296\h14HYPERLINK\l"_Toc78274297"第4课数字的拆分PAGEREF_Toc78274297\h16HYPERLINK\l"_Toc78274298"阅读材料:其它运算符PAGEREF_Toc78274298\h18HYPERLINK\l"_Toc78274299"第5课可怕的传染病PAGEREF_Toc78274299\h19HYPERLINK\l"_Toc78274300"阅读材料:常量PAGEREF_Toc78274300\h21HYPERLINK\l"_Toc78274301"第6课卡卡的难题PAGEREF_Toc78274301\h22HYPERLINK\l"_Toc78274302"第7课匪夷所思的结果PAGEREF_Toc78274302\h24HYPERLINK\l"_Toc78274303"第8课加密的文字PAGEREF_Toc78274303\h26HYPERLINK\l"_Toc78274304"阅读:数据类型转换PAGEREF_Toc78274304\h28HYPERLINK\l"_Toc78274305"第9课格式化输入输出PAGEREF_Toc78274305\h29HYPERLINK\l"_Toc78274306"第三部分是真是假做选择PAGEREF_Toc78274306\h32HYPERLINK\l"_Toc78274307"第1课奇数偶数我知道PAGEREF_Toc78274307\h33HYPERLINK\l"_Toc78274308"第2课这不是考试的成绩PAGEREF_Toc78274308\h35HYPERLINK\l"_Toc78274309"第3课这次考试我通过了PAGEREF_Toc78274309\h36HYPERLINK\l"_Toc78274310"第4课麻烦的火车托运PAGEREF_Toc78274310\h38HYPERLINK\l"_Toc78274311"综合练习PAGEREF_Toc78274311\h41HYPERLINK\l"_Toc78274312"第四部分省时省力的循环PAGEREF_Toc78274312\h46HYPERLINK\l"_Toc78274313"第1课快速输出法PAGEREF_Toc78274313\h47HYPERLINK\l"_Toc78274314"第2课这种计算方法真快PAGEREF_Toc78274314\h49HYPERLINK\l"_Toc78274315"第3课循环与分支的结合PAGEREF_Toc78274315\h50HYPERLINK\l"_Toc78274316"第4课什么是素数PAGEREF_Toc78274316\h51HYPERLINK\l"_Toc78274317"第5课无从下手的输入PAGEREF_Toc78274317\h53HYPERLINK\l"_Toc78274318"第6课辗转相除法PAGEREF_Toc78274318\h54HYPERLINK\l"_Toc78274319"综合练习PAGEREF_Toc78274319\h55HYPERLINK\l"_Toc78274320"第7课堆出一个三角形PAGEREF_Toc78274320\h57HYPERLINK\l"_Toc78274321"第8课阶乘之和PAGEREF_Toc78274321\h59HYPERLINK\l"_Toc78274322"第9课100-200以内的素数PAGEREF_Toc78274322\h60HYPERLINK\l"_Toc78274323"第五部分太多的变量PAGEREF_Toc78274323\h62HYPERLINK\l"_Toc78274324"第1课还是交换苹果PAGEREF_Toc78274324\h63HYPERLINK\l"_Toc78274325"综合练习PAGEREF_Toc78274325\h65HYPERLINK\l"_Toc78274326"第2课开关灯问题PAGEREF_Toc78274326\h67HYPERLINK\l"_Toc78274327"第3课约瑟夫问题PAGEREF_Toc78274327\h69HYPERLINK\l"_Toc78274328"第4课排序问题(选择排序)PAGEREF_Toc78274328\h71HYPERLINK\l"_Toc78274329"第5课排序问题(冒泡排序)PAGEREF_Toc78274329\h73HYPERLINK\l"_Toc78274330"第6课判断回文数PAGEREF_Toc78274330\h75HYPERLINK\l"_Toc78274331"综合练习PAGEREF_Toc78274331\h77HYPERLINK\l"_Toc78274332"阅读:二维数组PAGEREF_Toc78274332\h79HYPERLINK\l"_Toc78274333"第六部分重复使用语句块PAGEREF_Toc78274333\h81HYPERLINK\l"_Toc78274334"第1课函数的准备知识PAGEREF_Toc78274334\h82HYPERLINK\l"_Toc78274335"第2课再谈变量值的交换1PAGEREF_Toc78274335\h85HYPERLINK\l"_Toc78274336"第3课再谈变量值的交换2PAGEREF_Toc78274336\h86HYPERLINK\l"_Toc78274337"第4课最大公约数PAGEREF_Toc78274337\h88HYPERLINK\l"_Toc78274338"第5课省力的排序PAGEREF_Toc78274338\h90HYPERLINK\l"_Toc78274339"阅读:全局变量和局部变量PAGEREF_Toc78274339\h91HYPERLINK\l"_Toc78274340"第6课你植了多少棵树PAGEREF_Toc78274340\h93HYPERLINK\l"_Toc78274341"综合练习PAGEREF_Toc78274341\h95HYPERLINK\l"_Toc78274342"第3课递归算法PAGEREF_Toc78274342\h97HYPERLINK\l"_Toc78274343"第七部分多个变量捆绑一起PAGEREF_Toc78274343\h100HYPERLINK\l"_Toc78274344"第1课结构体变量PAGEREF_Toc78274344\h101HYPERLINK\l"_Toc78274345"第2课结构体数组PAGEREF_Toc78274345\h104HYPERLINK\l"_Toc78274346"第八部分文件操作PAGEREF_Toc78274346\h114HYPERLINK\l"_Toc78274347"第九部分常见算法PAGEREF_Toc78274347\h118HYPERLINK\l"_Toc78274348"1、桶排序PAGEREF_Toc78274348\h118HYPERLINK\l"_Toc78274349"2、排序与去重PAGEREF_Toc78274349\h120HYPERLINK\l"_Toc78274350"3、模拟算法PAGEREF_Toc78274350\h122HYPERLINK\l"_Toc78274351"4、贪心算法PAGEREF_Toc78274351\h124HYPERLINK\l"_Toc78274352"5、动态(背包问题)PAGEREF_Toc78274352\h125HYPERLINK\l"_Toc78274353"6、动态规划PAGEREF_Toc78274353\h131HYPERLINK\l"_Toc78274354"7、高精度算法PAGEREF_Toc78274354\h134C++编程ZjSTYLEREF部分\*MERGEFORMAT第四部分省时省力的循环上派西校区校本教材STYLEREF部分\*MERGEFORMAT第四部分省时省力的循环PAGE\*MERGEFORMAT70PAGE\*MERGEFORMAT69第一部分我的新朋友C++语言简介信息学奥林匹克竞赛是一项益智性的竞赛活动,核心是考查选手的智力和使用计算机解题的能力,选手首先应针对竞赛题目的要求构建数学模型,进而构造出计算机可以接受的算法,之后编写出计算机能够执行的程序。程序设计是信息学竞赛的基本功,选手参与竞赛活动的第一步是熟练掌握一门程序设计语言,目前竞赛中允许使用的程序设计语言有C语言、C++语言、Pascal。C++由美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普博士在20世纪80年代初期发明并实现(最初这种语言被称作“CwithClasses”带类的C)。开始,C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。今天C++已成为世界主流编程语言之一。C++语言的特点:(1)语言简洁紧凑,使用灵活方便;(2)运算符丰富;(3)数据结构丰富;(4)结构化语言;(5)生成的代码质量高(6)可移植性强。第1课奇怪的电脑卡卡,你好!卡卡的电脑上多出了一个文件,打开一看,电脑屏幕上出现了几个字“卡卡,你好!”,真奇怪,这是怎么做到的?一定是西西弄的,西西可是电脑高手。西西说,这是他用C++写的一个小程序。例1在屏幕上输出“HelloWorld!”。代码注释备注#include//调用iostream库头文件部分usingnamespacestd;//使用std命名空间intmain(){//int类型的主函数主函数部分包括:intmain(){}cout<<"HelloWorld!";//输出"HelloWorld!"return0;//返回值0,结束整个程序}//主函数结尾运行结果:HelloWorld!在此程序中包括头文件、注释、主函数、输出、返回值等部分,有时根据需要还可能有输入、子函数等部分。“这也太难了吧!”卡卡说。西西:“其实一下子让你明白这么多很不容易,但是你不必太在意,你只要把你想让电脑说的话,写在引号里面就好了。”卡卡说:“以后多教教我,我也要学习C++。”做一做填空:(1)c++语句,除了少数几个地方,每句话以______结尾;(逗号、句号、分号)(2)调用库在__________(尖括号、小括号)内;(3)main后面有一对__________后面再一对__________(小括号、大括号);(4)cout后面的符号是“__________”;(<<、>>)(5)C++语句中所有字符和符号均为________(中文、英文)。(6)C++程序通常有_________、_________、__________、_________、__________等部分。做一做试着写一个C++程序,输出:“卡卡,你好!”。第2课购买电影票电影院出了新电影,明天正好是周末,可以一饱眼福了,卡卡邀请了几个好朋友去看电影,电影票每张10元,他该准备多少电影票钱呢?在例1中,输出的内容是不用计算的,其实C++程序还具有处理数学计算的功能呢!例2已知一位小朋友的电影票价是10元,计算x位小朋友的总票价是多少?解题:卡卡想每张票是10元,那么x位小朋友就是10*x元,虽然他知道怎么算电影票钱,可是程序该怎么写呢?卡卡请教了西西。西西操作如下:1(1)打开Dev-C++软件;2(2)文件>新建>源代码;(3)写入代码,然后保存在桌面;43(4)然后点编译、运行;5(5)对程序进行了测试和调试。#includeusingnamespacestd;intmain(){intx,s;//定义x和s两个整数变量,其中x表示小朋友的位数,s表示总票价cin>>x;//输入小朋友的位数,存放在变量x中s=10*x;//计算总票价存放于s中,总票价=单张票价×小朋友的位数cout<>”,细心的同学可能发现cin与cout后面的符号正好相反。使用C++编程大致有以下环节:(1)启动开发环境;(2)新建源程序;(3)保存源程序到硬盘;(4)编译、运行;(5)调试程序。这个内容有点烧脑了,卡卡认真的把这个程序看了几遍,一遍看代码一边读西西给的注释,“有点明白了”卡卡说,“但是‘输入’是什么意思啊?”输入就是你告诉电脑有几位小朋友,不过是通过键盘打入数字告诉电脑的,西西说完给卡卡留了一道难题。我正想去看电影呢……做一做填空:使用Dev_C++编程大致有以下几个环节:(1)_____________;(2)_______________;(3)_____________________;(4)______________;(5)_________________。做一做有一个牧场,牧场上的牧草每天都在匀速生长,这片牧场可供15头牛吃20天,或可供20头牛吃10天,那么,这片牧场每天新生的草量可供几头牛吃1天?输出你的计算结果。第3课建一座金字塔电影结束了,给卡卡留下最深的印象就是壮观的金字塔,我回家也要用C++,在电脑上造一座金字塔。例2中C++程序处理了数学的计算,其实C++还可以处理字符。例3给定一个字符,用它构造一个底边长5个字符,高3个字符的等腰字符三角形。例如给定的字符是“#”那么输出:#########解题:#includeusingnamespacestd;intmain(){chara;//定义字符变量,cin>>a;//输入给定一个字符cout<<""<>a;的功能是_______________________________;而cout<usingnamespacestd;intmain(){inta,b,c;//先定义三个变量cin>>a>>b;//分别输入a、b的值c=a;//先将a赋值给c(c相当于空碗),暂时存起来a=b;//再把b赋值给ab=c;//最后把暂存在c的数据赋值给bcout<//使用printf或scanf,须调用cstdio库usingnamespacestd;intmain()doubler,h,s1,s2,s;//先定义双精度实型,可以存放小数cin>>r>>h;s1=3.14159*r*r;//利用公式计算底面积并赋值s2=2*3.14159*r*h;//利用公式计算侧面积并赋值s=2*s1+s2;//计算总的表面积并赋值printf("%0.3lf",s);//输出结果保留3位小数,注意double用lf占位符return0;}试一试将printf("%0.3lf\n",s);更改成cout<usingnamespacestd;intmain(){inta,b;//先定义变量doublec;//因为除法可能会产生小数,所以结果定义成浮点数(小数)cin>>a>>b;c=1.0*a/b;//a和b都是整数,除法运算的结果还是整数,所以先乘上1.0cout<、>=、<、<=、==、!=逻辑运算符:||、&&、!赋值运算符:=条件运算符:?:逗号运算符:,除法运算符“/”:如果a、b是两个整数类型的变量或常量,那么a/b的值是a除以b的商。注意:整形/整形=整形,实数/整形=实数,例如,5/2的值是2,而不是2.5,而5.0/2或5/2.0的值是2.5。做一做变量的使用必须符合________________________的原则。整数/整数=__________,实数/整形=___________。做一做输入三个整数a、b、c,输出(a+b)/c的值结果保留3位小数。(测试:输入345输出1.400。)第4课数字的拆分例7将指定的三位数,百位、十位、个位分开输出以一个空格隔开。(测试:输入239输出239)Zj解题思路:对这个三位数用10除取余数,余数就是个位;对这个三位数先用10除,结果是去掉个位的两位数,然后再用10取余就是十位;对这个数直接除100就是百位。#includeusingnamespacestd;intmain(){intn,a,b,c;cin>>n;a=n%10;//取个位时直接用10除求余数b=n/10%10;//取十位时,先用10整除,然后用10取余c=n/100;//取百位时直接用100整除cout<)、小于(<)、等于(==)、大于等于(>=)、小于等于(<=)和不等于(!=)六种,它们都是双目运算符。关系运算符运算的结果是整型,值只有两种:0或1,0代表关系不成立,1代表关系成立。2、逻辑运算符C++语言中提供了三种逻辑运算符:与运算(&&)、或运算(||)、非运算(!)。与运算符(&&)和或运算符(||)均为双目运算符,具有左结合性。非运算符(!)为单目运算符,具有右结合性。逻辑运算的值也为“真”和“假”两种,用“1”和“0”来表示。说明:(1)与运算&&参与运算的两个量都为真时,结果才为真,否则为假。例如,5>0&&4>2(2)或运算||参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:5>0||5>8(3)非运算!参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>0)按照运算符的优先顺序可以得出:a>b&&c>d等价于(a>b)&&(c>d)!b==c||dc&&x+yc)&&((x+y)关系>逻辑>赋值第5课可怕的传染病例8对于传染病要做到早发现,早诊断,早隔离,早治疗。请根据报告的甲流确诊数和死亡数,计算甲流的死亡率。输入:输入仅一行,有两个整数,第一个为确诊数,第二个为死亡数。输出:输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。样例输入:1043360样例输出:0.575%解题:#include#includeusingnamespacestd;intmain(){inta,b;//定义2个整型变量存放患病数和死亡数doublec;//定义双精度浮点型变量,存放死亡率cin>>a>>b;//输入患病人数和死亡人数c=100.0*b/a;//计算死亡率printf("%0.3lf%c",c,'%');//输出,注意单独的“%”的输出return0;}变量的值是可以改变的,因此称为变量。一个程序中可能要使用到若干个变量,为了区别不同的变量,必须给每个变量取一个名(称为变量名),变量中值的类型为变量的类型。1、变量三要素类型、名称和值2、变量命名规则只能由字母、数字和下划线构成,最多255个字符。变量要遵循“先定义后使用的原则”。变量名区分大小写,而且不能使用C/C++语言中的关键字。例如int、for等。3、变量的定义语法格式为:数据类型变量表变量定义举例:doublex;//定义1个双精度浮点型变量xchara,b,c;//定义3个字符型变量a、b和cinti=5,j,k;//一次定义3个整型变量i、j和k,i赋予初始值5做一做统计及格率,语文考试结束了。能否根据班上的人数和及格人数,求出及格率呢?结果保留2位小数(测试:输入5042输出84.00%)阅读材料:常量常量是指在程序中值只能赋予第一次,然后不能被更改。1、整型常量  1)十进制形式:数字1~9开头如99  2)八进制形式:数字0开头如017  3)十六进制形式:0x开头如0xFF2、实型常量:小数法和科学计数法如:2.1或者0.6E+23、字符常量:单引号括起来的如‘a’常量的定义:一个常量可以直接调用(如124,'A'),也可以给常量取个名字用一个标识符代表它,这就是符号常量。其语法格式为:const符号常量=常量字串;例如:constdoublePI=3.1415926;注意习惯上,符号常量名用大写,而变量名用小写,以便于区别。使用符号常量的好处:(1)增加了程序的可读性。(2)增加了程序的易改性。第6课卡卡的难题例9计算(calc)(2017县赛第一题)西西同学从四年级就开始学习信息学,通过信息学的学习,她掌握了很多有关电脑的知识,慢慢成为了班级里的电脑高手。卡卡同学也很想学电脑,但是他一直有个疑问:计算机与计算器有什么区别?西西同学解释:计算机较之计算器功能更强加,通过程序设计可以很方便的实现计算器的计算功能。卡卡疑问道:我们刚刚学习了四则运算,电脑能帮助计算a*(b+c)吗?西西摆摆手说:太简单了。各位同学你能够通过程序设计的方式解决这个问题吗?输入:输入数据只有1行,有三个用空格分开的整数,分别表示a、b和c。输出:输出数据只有1行,为a*(b+c)的结果。样例:输入:(calc.in)234输出:(calc.out)14数据范围:对于20%数据0usingnamespacestd;intmain(){longlonga,b,c,d;//许多同学设置成int,没考虑到结果d可能超过int的范围cin>>a>>b>>c;d=a*(b+c);cout<usingnamespacestd;intmain(){doublea,b;a=1.0/3;b=1/3;printf("%.2lf%0.2lf",a,b);return0;}同样是1除3结果却不一样,奇怪!原来相同类型的变量(或数值)计算结果类型不变。试一试计算1/3,分别存入float和double变量中,保留12位小数输出这2个变量。(结果0.333333343267和0.333333333333)还是1除3,小数部分竟然不都是3,有猫腻!数据类型定义标识符占字节数数值范围有效位数单精度实型float4(32位)-3.4E-38~3.4E+386~7位双精度实型double8(64位)-1.7E+308~1.7E+30815~16位长双精度实型longdouble16(128位)-3.4E+4932~1.1E+493218~19位试一试输入下面代码并且查看运行结果(结果10)#includeusingnamespacestd;intmain(){boola,b;a=5;b=1>3;cout<usingnamespacestd;intmain(){chara,b;cin>>a;b=a-32;//从字符ASCII表可以看出对应的小写比大写的值大32cout<78N94^110n126~47/63?79O95_111o127deL(2)转义字符表示形式。转义字符有三种用法:表示控制字符、表示特殊字符、表示所有字符。常用的转义字符如右表所示。转义字符含义'\n'换行'\t'水平制表'\r'回车(不换行)'\’'单引号'\”'双引号'\\'一个反斜杠字符不设置变量b,直接cout<usingnamespacestd;intmain(){inta;cin>>a;if(a%2==0){//a被2除,余数是0,其实就是偶数。注意“==”表示判断是否相等,而“=”是赋值。cout<<“yes”;}return0;}if单分支结构语法:if(条件表达式){语句1;}功能:如果条件表达式的值为真,即条件成立,语句1将被执行。否则,语句1将被忽略(不被执行),程序将按顺序从整个选择结构之后的下一条语句继续执行。说明:格式中的“条件表达式”必须用圆括号括起来。图表SEQ图表\*ARABIC1if语句执行方式条件表达式语句1falsetrue做一做输入a,b,若a>b则交换a,b的值,输出a、b的值。思考if(1)cout<usingnamespacestd;intmain(){inta;cin>>a;if(a>1&&a<100){//“&&”与(并且),两边都是真才为真,注意不能使用1usingnamespacestd;intmain(){inta;cin>>a;//输入分数给aif(a>=60){//如果,a大于或等于60cout<<"通过";//输出“通过”}else{//否则cout<<"没通过";//输出“不通过”}return0;}if-else双分支结构语法:if(条件表达式){语句1;}else{语句2;}条件表达式语句2flasetrue语句1功能:如果(条件表达式)的值为真(非0),则执行语句1;如果(条件表达式)的值为假(0),即条件不成立,那么跳过语句1选择执行“语句2”;也就是说if-else语句总是根据(条件表达式)的结果,选择“语句1”和“语句2”中的一个执行,执行完以后,整个if-else就算执行完了。做一做输入温度t的值,判断是否适合晨练。(25<=t<=30,则适合晨练ok,否则不适合no)(测试1:输入30输出yes;测试2:输入20输出no;测试3:输入40输出no)提示:如果两个条件必须同时符合,使用&&(与,且,并且)连接,如果两个条件只需要符合其中一个使用||(或,或者)连接。做一做乘坐飞机时,当乘客行李小于等于20公斤时,按每公斤1.68元收费,大于20公斤时,超出部分每公斤1.98元收费,编程计算收费(保留2位小数)。(测试1:输入10输出16.80;测试2:输入30输出53.40)第4课麻烦的火车托运例14火车托运行李,要根据重量按不同的标准收费.例如不超过50kg,按每公斤0.35元收费;若超过50kg按每公斤0.35元收费,其余超过部分按每公斤0.50元收费;若超过100kg,其余超出部分按每公斤1.00元收费。现输入托运行李重量,要求计算并输出托运费.(结果保留2位小数)样例输入:61样例输出:23.00主函数部分:doublex,p;cin>>x;if(x<=50){p=0.35*x;}//少于50k时,全部按0.35每斤收费elseif(x<=100){p=0.35*50+(x-50)*0.5;}//50~100kg时,50kg以内部分按0.35计算,超过50kg的部分按0.5计算else{p=0.35*50+0.50*50+(x-100)*1.00;}//超过100kg时,50kg以内部分按0.35计算,50~100kg部分按0.5计算,超出100kg部分的按照1.00计算收费printf(“%0.2f,p”);多分支结构语法:if(表达式1){语句1;}elseif(表达式2){语句2;}…elseif(表达式n){语句n;}else{语句n+1;}真假真真真假假假表达式1表达式2表达式3表达式4语句1语句2语句3语句4语句5做一做给出一个百分制成绩,要求输出成绩等级A,B,C,D,E。90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。(测试1:输入0输出E;测试2输入65输出D;测试3:输入70输出C;测试4:输入85输出B;测试5输入95输出A。)(1)先填写下图:真<90真真真<80<70<60>=90>=80>=70>=60输出___输出___输出__输出__输出__真>=60真真真>=70>=80>=90<60<70<80<90输出__输出__输出__输出__输出__(2)再写出程序:综合练习做一做输入年份判断是否闰年,闰年判断:能被4整除而且不能被100整除的是闰年,能被400整除的是闰年。(测试1:输入500输出no;测试2输入400输出yes;测试3输入2017输出no;测试4输入2016输出yes)做一做(2017县赛第二题)逻辑(logic)卡卡很惊讶,电脑竟然能够完成如此复杂的计算:太厉害了!西西连忙补充道:电脑在程序控制之下进行数值计算仅仅是它的一个最基本功能,电脑的强大远远不止数值计算。卡卡疑问:难道电脑还能做更加复杂的操作?西西解释道:逻辑判断也是电脑一个基本功能,电脑在程序的控制下能够实现逻辑判断。比如:可以根据用户输入的不同完成不同计算过程。卡卡问道:我们刚刚接触到了图形的概念,电脑能不能根据用户的输入,计算长方形、圆形、三角形的面积。西西拍拍胸口说:一切交给我吧!请各位同学,帮助西西完成这个任务?输入:输入数据有2行,第1行一个数,表示图形的类型(1表示长方形,2表示圆形、3表示三角形),第2行输入若干个整数(如果是长方形输入长和宽,如果是圆形输入半径,如果是三角形输入底边和高)。注:图形类型只有三种,不会出现其他类型图形。输出:图形的面积(三角形和圆形面积输出必须保留2位小数)样例:输入1:(logic.in)134输出1:(logic.out)12输入2:(logic.in)23输出2:(logic.out)28.27输入3:(logic.in)334输出3:(logic.out)6数据范围:0<半径、长、宽、高、底边<105说明:π统一使用3.1415做一做(2017市赛第一题)图书捐赠(books)一年过去了,卡卡西又积攒了不少的零用钱,非常有爱心的卡卡西计划将这些零用钱购买一些图书,送给贫困山区的小朋友,他来到新华书店,看到一本非常适合小朋友学习编程的图书,定价为25元/本,如果购买数量超过5本,则购买的所有图书价格降为22元/本;而如果从网上购买,定价为24元/本,如果购买数量超过10本,则超过10本的部分8折优惠。卡卡西购买了n本该编程图书,请你帮卡卡西计算下需要多少钱?输入:输入数据一行,有两个用空格分隔的正整数m,n,其中m=1表示从新华书店购买图书,m=2表示从网上购买图书;n表示总共购买图书的数量。输出:一个数,表示购买图书需要花费的总金额,若m=1,则输出为一个正整数,若m=2,则输出的数值精确到小数点后2位。样例1:输入:(books.in)16输出:(books.out)132样例2:输入:(books.in)215输出:(books.out)336.00数据范围:1≤n≤100做一做(2017省赛第一题)计算水费(fee)“五一”假期快到了,小学生卡卡西非常期待,因为通过海选报名和几轮筛选,她被选为本市“迷你铁人三项赛”(注:正式“铁人三项”比赛分别是游泳、长跑和自行车,因为是“迷你铁人三项”,所以很多项目简化进行)的
/
本文档为【小学信息学竞赛C++编程信息学校本教材+讲解+练习】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索