zoukankan      html  css  js  c++  java
  • CCF中学生计算机程序设计入门篇课后练习答案

    前言

    目前答案更新至 3.5

    可通过Gitee项目关注进度

    从第二章第四节开始,编程练习均可以通过CCf中学生程序设计在线测评系统在线测试。网址:http://oj.noi.cn/

    第1章 编程如此简单

    1.1 程序设计概念

    (1)略

    (2)略

    1.2 整数算术计算

    (1)300公顷

    1. 求1台拖拉机1天耕地公顷数:$90 div 3 div 3= 10 ( 公顷 ) $

    2. 求5台拖拉机6天耕地公顷数:(10 imes 5 imes 6 = 300 ( 公顷 ))

    3. 列出综合算式: $ 90 div 3 div 3 imes 5 imes 6 = 300(公顷)$

      程序:

      #include <iostream>
      using namespace std;
      
      int main(){
      	cout<<"5台拖拉机6天能耕";
      	cout<<90/3/3*5*6<<"公顷地。"<<endl; 
      	return 0;
      }
      

      image-20210525222832183

    (2)3次

    1. 求1辆车1次可以运送的钢材量:$ 100div 4 div 5 = 5(吨) $
    2. 求7辆车运送105吨钢材的次数: $ 105 div (5 imes 7)=3(次) $
    3. 列出综合算式: $ 105 div ((100 div 4 div 5) imes 7)=3(次)$

    程序:

    #include <iostream>
    using namespace std;
    
    int main(){
    	cout<<"7辆车运送105吨钢材需要";
    	cout<<105/((100/4/5)*7)<<"次"<<endl; 
    	return 0;
    }
    

    image-20210526001202931

    (3) 去掉2根,每班7根

    1. 求每个班分到的绳子数:(58div 8 = 7 (根)... 2(根))
    2. 分到7根,余下两根

    程序:

    #include <iostream>
    using namespace std;
    
    int main(){
    	cout<<"每个班最少要去掉"<<58%7<<"根跳绳。"<<endl;
    	cout<<"每个班分到"<<57/7<<"根跳绳"<<endl; 
    	return 0;
    }
    

    image-20210526001603686

    1.3 实数算术计算

    (1)1.92元

    1. 求每只铅笔的价格:(0.6 div 5 = 0.12(元))
    2. 求16只铅笔的价格: $0.12 imes 16 =1.92(元) $
    3. 综合式子:(16 imes (0.6 div 5)=1.92(元))

    程序:

    #include <iostream>
    using namespace std;
    
    int main(){
    	cout<<"购买16只铅笔需要"<<(0.6/5)*16<<"元"<<endl; 
    	return 0;
    }
    

    image-20210526002437282

    (2)904套

    1. 求原来需要的布的量:(3.2 imes 791 = 2531.2(m^2))
    2. 求改进后能做的量:(2531.2 div 2.8 = 904(套))
    3. 综合式子:(3.2 imes 791 div 2.8 = 904(套))

    程序:

    #include <iostream>
    using namespace std;
    
    int main(){
    	cout<<"现在可以做"<<3.2*791/2.8<<"套"<<endl; 
    	return 0;
    }
    

    image-20210526002858049

    (3)8厘米

    1. 求出正方形的面积:(10 imes 8 - 16 = 64(m^2))
    2. 求出正方形的边长:(sqrt{64}=8(m))
    3. 综合式子:(sqrt{10 imes 8 - 16}=8(m))

    程序:

    #include <iostream>
    #include <cmath>
    using namespace std;
    
    int main(){
    	cout<<"正方形瓷砖边长为"<<sqrt(10*8-16)<<"厘米"<<endl; 
    	return 0;
    }
    

    image-20210526003050465

    第2章 数据的存储和读入

    2.1 变量和变量的类型

    (1)

    变量名 是否合法
    3zh 否,数字不能开头
    ant
    _3cq
    my
    friend 否,friend是友元函数关键字
    Mycar
    my_car
    all
    55a 否,数字不能开头
    a_abc
    while 否,while是循环关键字
    daf-32 否,'-'不能构成变量名
    x.13 否,'.'不能构成变量名
    Var(3) 否,括号不能构成变量名
    maxn
    max&min 否,'&'不能构成变量名

    (2) 略

    (3) 略

    2.2 赋值语句和数学表达式

    (1) C

    (2)

    (A)y=m*x+b

    (B)m=(a+b+c)/(e*f)

    (C)a=sqrt((x-3*y)*z)

    (D)a=(2*x-y)/(x+y*y)

    (E)m=(x-y*z)/(2/c)

    (3) C、E

    (4)

    表达式
    ++x x=11
    --x x=9
    y=x++ y=10 ,x=11
    y=--x y=9,x=9
    x++ x=11
    x-- x=9
    y=5*x++ y=50,x=11
    y=x--*2+3 y=23,x=9

    (5)

    5-1

    4 3 4

    4 4 3

    5-2

    2 0

    (6)

    ceil(3.14)=4 floor(3.14)=3

    4^3.0=64

    sqrt(9)=3

    (7)

    #include <iostream>
    #include <cmath>
    using namespace std;
    
    int main(){
    	cout<<"5年级分到"<<540/(120+150)*120<<"棵树苗"<<endl;
    	cout<<"6年级分到"<<540/(120+150)*150<<"棵树苗"<<endl;
    	return 0;
    }
    

    image-20210526172628271

    (8)略

    2.3 数据类型转换

    (1)

    1-1

    3 3
    3 8
    11 8
    c=1
    c=1.375

    1-2

    3129,65,65,65.2,A

    (2)

    #include <iostream>
    #include <cmath>
    using namespace std;
    int main(){
    	char c;
    	cin>>c;
    	cout<<char('a'+'z'-c);
    	return 0;
    }
    

    (3) 略

    2.4 变量的读入

    (1)温度转换

    程序

    (2)三角形

    海伦公式

    [p=frac{a+b+c}{2}\ s=sqrt{p(p-a)(p-b)(p-c)} ]

    程序

    (3)猜数游戏

    程序

    2.5 C语言中的scanf语句和printf语句

    (1)

    1-1

    a=202
    2*a=404
    a=202
    2323.343450
    2323.34
    2323.34
    2323.34

    1-2

    1, 1,001,123,123 ,00123

    2.6 顺序结构程序设计实例

    (1)填充矩形

    程序

    (2)存款收益

    程序

    (3)捡石头

    程序

    (4)计算余数

    程序

    (5) 略

    第3章 程序的选择执行

    3.1 if语句和关系表达式

    (1)

    1-1

    输入 输出
    5 5 5
    5 6 6
    6 5 5

    1-2

    输入 输出
    5 5 5
    5 6 Unequal
    6 5 Unequal

    (2)

    2-1

    输入 输出
    5 7 0
    7 6 2

    2-2

    输入 输出
    5 7 5
    7 6 2

    (3)水仙花数

    程序

    3.2 逻辑表达式和条件表达式

    (1)分配任务

    程序

    (2)邮寄包裹

    程序

    (3)正方形

    程序

    (4)变换密码

    程序

    3.3 嵌套if语句

    (1)

    程序段1

    数据 输出
    x=3,y=2
    x=2,y=3 x=2
    x=3,y=4 z =7
    x=2,y=2 x=2
    x=3,y=3 z =6

    程序段2

    数据 输出
    x=3,y=2 x=3
    x=2,y=3
    x=3,y=4 z =7
    x=2,y=2
    x=3,y=3 z =6

    (2)识别三角形

    程序

    (3)写评语

    程序

    3.4 switch语句

    (1)略

    (2)星期几

    程序

    (3)计算天数

    程序

    (4)价格查询

    程序

    3.5 分支结构程序设计实例

    (1)打电话

    程序

    (2)分段函数

    程序

    (3)数字识别

    程序

    (4)发放奖金

    程序

    第4章 程序段的反复执行

    4.1 for语句

    (1)

    1-1

    1-2

    1-3

    1-4

    (2)

    编号 结果
    A
    B
    C

    (3)平均年龄

    (4)最大跨度

    (5)

    (6)因子个数

    (7)统计奖牌

    (8)表演打分

    (9)陶陶摘苹果

    4.2 while语句

    4.3 do-whiile语句

    4.4 多重循环

    4.5 在循环结构中应用位运算

    4.6 循环结构程序设计实例

    第5章 数据的批量存储

    5.1 一维数组

    5.2 活用数组下标

    5.3 数值排序和查找

    5.4 字符数组

    5.5 二维数组

    5.6 数组的综合应用实例

    不积硅步,无以至千里。
  • 相关阅读:
    webstrom的热更新没效果
    按钮文字有间距并居中
    兄弟选择器(+ 和 ~)
    ES6精简要点
    自动类型转换之运算符重载
    自动类型转换之构造函数
    运算符重载(三)
    运算符重载(二)
    运算符重载(一)
    友元
  • 原文地址:https://www.cnblogs.com/wyloving/p/14820395.html
Copyright © 2011-2022 走看看