宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取

前言

目前答案更新至 3.5

可通过Gitee项目关注进度

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

第1章 编程如此简单

1.1 程序设计概念

(1)略

(2)略

1.2 整数算术计算

(1)300公顷

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

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

列出综合算式: $ 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;
}

CCF中学生计算机程序设计入门篇课后练习答案-冯金伟博客园

(2)3次

求1辆车1次可以运送的钢材量:$ 100div 4 div 5 = 5(吨) $
求7辆车运送105吨钢材的次数: $ 105 div (5 imes 7)=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;
}

CCF中学生计算机程序设计入门篇课后练习答案-冯金伟博客园

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

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

程序:

#include <iostream>
using namespace std;

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

CCF中学生计算机程序设计入门篇课后练习答案-冯金伟博客园

1.3 实数算术计算

(1)1.92元

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

程序:

#include <iostream>
using namespace std;

int main(){
	cout<<"购买16只铅笔需要"<<(0.6/5)*16<<"元"<<endl; 
	return 0;
}

CCF中学生计算机程序设计入门篇课后练习答案-冯金伟博客园

(2)904套

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

程序:

#include <iostream>
using namespace std;

int main(){
	cout<<"现在可以做"<<3.2*791/2.8<<"套"<<endl; 
	return 0;
}

CCF中学生计算机程序设计入门篇课后练习答案-冯金伟博客园

(3)8厘米

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

程序:

#include <iostream>
#include <cmath>
using namespace std;

int main(){
	cout<<"正方形瓷砖边长为"<<sqrt(10*8-16)<<"厘米"<<endl; 
	return 0;
}

CCF中学生计算机程序设计入门篇课后练习答案-冯金伟博客园

第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;
}

CCF中学生计算机程序设计入门篇课后练习答案-冯金伟博客园

(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 数组的综合应用实例

不积硅步,无以至千里。