第 1章 多组输入数据的处理 001
1.1 单组输入数据和多组输入数据 001
1.2 多组输入数据的3种输入方式 002
1.3 案例1:a+b问题(第 1种输入方式) 002
1.4 案例2:a+b问题(第 2种输入方式) 003
1.5 案例3:a+b问题(第3种输入方式) 004
1.6 练习1:闰年的判断(第 1种输入方式) 005
1.7 练习2:水仙花数(第 2种输入方式) 006
1.8 练习3:时间规划(第3种输入方式) 007
1.9 基础知识练习(GESP真题) 008
第 2章 数列问题及递推 011
2.1 数列及广义上的数列 011
2.2 用程序实现数列的递推 011
2.3 案例1:求数列1, 2, 4, 7, 11, …的第n项 012
2.4 案例2:兔子问题与Fibonacci数列 013
2.5 案例3:走台阶问题 015
2.6 练习1:求数列1, 2, 2, 3, 3, 3, …的第n项 017
2.7 练习2:小杨做题(GESP真题) 018
2.8 练习3:吃糖果(每天吃1颗、2颗或3颗) 019
2.9 基础知识练习(GESP真题) 021
第3章 循环的嵌套—二重循环 023
3.1 从九九乘法表说起 023
3.2 循环的嵌套 023
3.3 案例1:累计相加(GESP真题) 024
3.4 流程图的规范表示 026
3.5 案例2:小杨的H字矩阵(GESP真题) 027
3.6 案例3:求多个正整数的位数 028
3.7 练习1:求1n+2n+3n+…+an 029
3.8 练习2:求多个班级的总分 030
3.9 练习3:统计幸运数个数 031
3.10 基础知识练习(GESP真题) 032
第4章 程序控制结构综合应用 038
4.1 程序控制结构的并列和嵌套 038
4.2 三重及多重循环 039
4.3 案例1:筛选质数(GESP真题) 039
4.4 案例2:乘法问题(GESP真题) 041
4.5 案例3:输出全部质因数 042
4.6 练习1:判定多个数是否为质数 043
4.7 练习2:数位和最大值(GESP真题) 045
4.8 练习3:美丽数字(GESP真题) 046
4.9 基础知识练习(GESP真题) 047
第5章 特殊的数及增长很快的数 059
5.1 特殊的数 059
5.2 增长很快的数 059
5.3 案例1:数字黑洞(GESP真题) 060
5.4 案例2:自幂数判断(GESP真题) 061
5.5 案例3:输出1~n的阶乘 063
5.6 练习1:雷劈数 064
5.7 练习2:连号的数 065
5.8 练习3:交替乘法 066
5.9 基础知识练习(GESP真题) 067
第6章 一维和二维数表 072
6.1 从杨辉三角说起 072
6.2 一维数表和数列 072
6.3 二维数表—矩阵 073
6.4 案例1:一维1, 2, 3, 2, 3, 4 073
6.5 案例2:二维1, 2, 3, 2, 3, 4 075
6.6 案例3:等差矩阵(GESP真题) 077
6.7 练习1:数表1, 2, 2, 4, 4, 4, 4 077
6.8 练习2:求n×m个数的和 079
6.9 练习3:输出数字图案 080
6.10 基础知识练习(GESP真题) 082
第7章 输出有规律的字符图形 086
7.1 字符图形的规律及实现方法 086
7.2 案例1:输出星号三角形(实心) 090
7.3 案例2:小杨的X字矩阵(GESP真题) 091
7.4 案例3:小杨的日字矩阵(GESP真题) 092
7.5 练习1:输出星号三角形(空心) 094
7.6 练习2:小杨的N字矩阵(GESP真题) 095
7.7 练习3:输出字符图形Y 096
7.8 基础知识练习(GESP真题) 097
第8章 枚举算法基础 103
8.1 枚举算法的思想 103
8.2 枚举算法的实现要点 104
8.3 案例1:n个苹果放入3个不同的盘子 105
8.4 案例2:n个苹果分成3堆 106
8.5 案例3:百鸡问题(GESP真题) 107
8.6 练习1:求和(GESP真题) 108
8.7 练习2:数三角形(GESP真题) 109
8.8 练习3:幂和数(GESP真题) 110
8.9 基础知识练习(GESP真题) 111
第9章 非数值型数据—字符和字符串 117
9.1 字符和字符串 117
9.2 ASCII编码 118
9.3 字符型变量和字符型常量 119
9.4 字符串常量 120
9.5 字符和字符串的输入/输出 121
9.6 案例1:字母转整数 122
9.7 案例2:统计字符串中各类字符的个数 123
9.8 案例3:画正方形(GESP真题) 124
9.9 练习1:提取整数并判断是否为质数 125
9.10 练习2:数字之和 126
9.11 练习3:画三角形(GESP真题) 127
9.12 基础知识练习(GESP真题) 128
第 10章 字符型数据综合应用 133
10.1 字符转换 133
10.2 字符编码 133
10.3 案例1:字母后移4位转换 133
10.4 通过取余运算构成像钟表一样的环状序列 135
10.5 案例2:简单的字符串解密 136
10.6 案例3:字符串编码 137
10.7 练习1:简单的字符串加密 138
10.8 练习2:计算单词的得分 139
10.9 练习3:字符串解码 140
10.10 基础知识练习(GESP真题) 141
第 11章 调用系统函数求解问题 143
11.1 数学里的函数和C++语言中的函数 143
11.2 平方和平方根、立方和立方根 143
11.3 幂运算及pow函数 145
11.4 常用的数学函数及相关的数学知识 145
11.5 其他常用的系统函数 146
11.6 案例1:求正方形的边长和圆的直径 146
11.7 案例2:勾股数(GESP真题) 147
11.8 案例3:平方之和(GESP真题) 149
11.9 练习1:求正方体的边长和圆球的直径 150
11.10 练习2:寻找数字(GESP真题) 151
11.11 练习3:平方根和立方根的差 152
11.12 基础知识练习(GESP真题) 153
第 12章 函数定义及调用 155
12.1 函数的分类 155
12.2 案例1:求两个数的最大值(函数实现) 155
12.3 函数的定义及调用 156
12.4 函数参数 157
12.5 函数声明及函数的原型 158
12.6 案例2:判定质数(函数实现) 159
12.7 案例3:求正整数各位数字和(函数实现) 160
12.8 练习1:求两个数的和(函数实现) 160
12.9 练习2:判定闰年(函数实现) 161
12.10 练习3:求正整数的位数(函数实现) 162
12.11 基础知识练习(GESP真题) 163
第 13章 日期和时间的处理 165
13.1 日期和时间处理基础知识 165
13.2 案例1:一年中的第几天 167
13.3 案例2:判断日期是否合法 168
13.4 案例3:时间跨越(GESP真题) 169
13.5 练习1:一年中的第几秒 171
13.6 练习2:比较两个日期的大小 172
13.7 练习3:今天是星期几 173
13.8 基础知识练习(GESP真题) 174
第 14章 函数及程序控制结构综合应用 175
14.1 通过函数设计简化程序控制结构 175
14.2 案例1:质数日期 175
14.3 案例2:计数(GESP真题) 177
14.4 案例3:一辈子的第几天 178
14.5 练习1:求平面上三角形的面积 180
14.6 练习2:求一个整数的回文数步数 181
14.7 练习3:自幂数判断(函数实现) 183
14.8 基础知识练习(GESP真题) 184
第 15章 程序设计题目与测试数据设计 187
15.1 程序设计题目的在线评测原理 187
15.2 随机数函数 188
15.3 在线程序设计题目的设计 188
15.4 案例:求p/q 189
15.5 基础知识练习(GESP真题) 191
附录A 本书配套资源使用指南 193
附录B 基础知识练习答案 194
参考文献 199