《基于NBU OJ的C语言在线实验及习题汇编》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:陈叶芳,钱江波,郁梅,李纲
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2017
  • ISBN:9787302455363
  • 页数:254 页
图书介绍:根据C课程的教学要求设计了对应的实验项目,而且学生写完代码后可以在线提交到NBU OJ上,系统会自动给出评判信息,如果是班级使用的话,系统还会给出学生的分数和排名信息。教材中还选取了NBU OJ上的若干题目作为实例分析,详细介绍了VC下的编程要点以及OJ上的评判规则,同时给出若干题目供学生实践使用。

第1部分 在线实验 3

实验1 熟悉C编程环境 3

1.1 实验目的和要求 3

1.2 熟悉Visual C++集成开发环境 3

1.2.1 启动Visual C++ 3

1.2.2 新建或打开源程序文件 4

1.2.3 程序的编辑、编译、连接和运行 6

1.2.4 程序的关闭 9

1.3 程序调试中的错误 10

1.3.1 编译错误 10

1.3.2 连接错误 11

1.3.3 运行错误 12

1.3.4 逻辑错误 13

1.4 实例分析 13

1.4.1 开学的问候 13

1.4.2 显示简单图案 16

1.4.3 自动应答器 18

1.5 上机实验题 20

1.5.1 自我介绍 20

1.5.2 才艺秀 20

1.5.3 菜单显示 20

1.5.4 加强版自动应答器 21

实验2 在线评判系统(NBU OJ)的使用 22

2.1 实验目的和要求 22

2.2 NBU OJ系统简介 22

2.3 在NBU OJ上注册 23

2.4 在NBU OJ上做题 25

2.4.1 学生自主式做题 25

2.4.2 教师指导式做题 29

2.5 在线课程(ONLINE COURSE)管理 31

2.5.1 课程管理(教师用户) 31

2.5.2 成绩管理(教师用户) 36

2.5.3 课程学习(学生用户) 38

2.6 NBU OJ上输入输出的特殊要求 40

2.7 实例分析 41

2.7.1 数字自动应答器(题号:1000,难度:★) 41

2.7.2 单组A+B(题号:1002,难度:★) 43

2.8 上机实验题 44

2.8.1 字符应答器(题号:1001,难度:★) 44

2.8.2 两数交换输出顺序(题号:1015,难度:★) 45

2.8.3 小神探的小问题(题号:1215,难度:★) 45

实验3 基本数据类型与顺序结构 46

3.1 实验目的和要求 46

3.2 实例分析 46

3.2.1 计算月收入(题号:1006,难度:★) 46

3.2.2 温度转换(题号:1007,难度:★) 48

3.2.3 卫生包干区的面积(题号:1011,难度:★) 49

3.2.4 三位数的数位分离(题号:1029,难度:★) 50

3.3 上机实验题 51

3.3.1 三数求平均值(题号:1005,难度:★) 51

3.3.2 圆周长和圆面积(题号:1008,难度:★) 52

3.3.3 梯形面积(题号:1205,难度:★) 52

3.3.4 植树问题(题号:1018,难度:★) 52

3.3.5 成绩预算(题号:1021,难度:★) 53

3.3.6 简单译码(题号:1022,难度:★) 53

3.3.7 多项式求值2(题号:1025,难度:★) 53

3.3.8 存款利息(题号:1027,难度:★) 54

3.3.9 不同国家的日期写法(题号:1258,难度:★) 54

3.3.10 鸡兔同笼(1)(题号:1014,难度:★) 54

3.3.11 四位数的数字和(题号:1247,难度:★) 55

3.3.12 平面上两点的距离(题号:1013,难度:★) 55

3.3.13 旅行时间和花费(题号:1242,难度:★) 55

3.3.14 零钱兑换(题号:1243,难度:★) 56

实验4 选择结构 57

4.1 实验目的和要求 57

4.2 实例分析 57

4.2.1 成绩合格问题(题号:1058,难度:★) 57

4.2.2 符号属性判断(题号:1036,难度:★) 59

4.2.3 分段函数(1)(题号:1041,难度:★) 64

4.2.4 单个字母大小写互换(题号:1047,难度:★) 66

4.2.5 平面上的三角形判断(1)(题号:1012,难度:★) 67

4.3 上机实验题 69

4.3.1 判断奇数偶数(题号:1038,难度:★) 69

4.3.2 分段函数(3)(题号:1043,难度:★) 69

4.3.3 单个字符类型判断(题号:1049,难度:★) 69

4.3.4 五级制成绩评级(题号:1060,难度:★) 70

4.3.5 是否闰年(题号:1072,难度:★) 70

4.3.6 求点的高度(题号:1082,难度:★) 71

4.3.7 求1到10的英文单词(题号:1083,难度:★) 71

4.3.8 简单计算器(题号:1084,难度:★) 71

4.3.9 正方形还是圆形(题号:1218,难度:★) 72

4.3.10 三数求大值(题号:1064,难度:★) 72

4.3.11 模拟万年历(题号:1073,难度:★) 73

4.3.12 加油站加油(题号:1078,难度:★) 73

4.3.13 数字加密(题号:1077,难度:★) 73

4.3.14 一元二次方程(题号:1081,难度:★) 74

4.3.15 石头剪刀布(题号:1232,难度:★) 74

4.3.16 计算火车运行时间(题号:1492,难度:★) 75

4.3.17 机器人的移动问题(题号:1238,难度:★★) 75

实验5 基本循环结构 76

5.1 实验目的和要求 76

5.2 实例分析 76

5.2.1 1到N连续求和(题号:1090,难度:★) 76

5.2.2 简单分数数列求和(题号:1098,难度:★) 81

5.2.3 一组整数求平均(题号:1108,难度:★) 85

5.2.4 不确定组数的A+B(题号:1003,难度:★) 86

5.3 上机实验题 87

5.3.1 简单数字打印(题号:1086,难度:★) 88

5.3.2 符号变化的整数数列求和(题号:1091,难度:★) 88

5.3.3 乘法数列求和(题号:1095,难度:★) 88

5.3.4 分数数列求和(题号:1101,难度:★) 89

5.3.5 计算n!(题号:1104,难度:★) 89

5.3.6 正/负数统计(题号:1113,难度:★) 89

5.3.7 N组A+B(题号:1004,难度:★) 90

5.3.8 数字字符统计(题号:1052,难度:★) 90

5.3.9 字符分类统计(题号:1053,难度:★) 90

5.3.10 各位数字求和(题号:1032,难度:★) 91

5.3.11 数据逆序显示(题号:1031,难度:★) 91

5.3.12 水仙花数(题号:1126,难度:★) 91

5.3.13 判断完全数(题号:1127,难度:★) 92

5.3.14 分解质因数(题号:1128,难度:★) 92

5.3.15 蟠桃记(题号:1136,难度:★) 92

5.3.16 还是鸡兔同笼(题号:1211,难度:★) 93

5.3.17 判断亲密数(题号:1213,难度:★) 93

5.3.18 角谷猜想(题号:1458,难度:★) 94

5.3.19 画正方形(题号:1080,难度:★) 94

5.3.20 用天平找小球(题号:1491,难度:★) 94

5.3.21 数星星(题号:2547,难度:★) 95

5.3.22 统计衣服尺寸(题号:1265,难度:★) 95

5.3.23 勤劳的蚂蚁(题号:1233,难度:★★) 96

5.3.24 回流的时光(题号:1235,难度:★★) 96

5.3.25 一数三平方数(题号:1421,难度:★★) 97

实验6 嵌套循环结构 98

6.1 实验目的和要求 98

6.2 实例分析 98

6.2.1 绘制字符正方形(题号:1226,难度:★) 98

6.2.2 求阶乘之和(题号:1105,难度:★) 100

6.3 上机实验题 103

6.3.1 表示成两个数的平方和(题号:1222,难度:★) 103

6.3.2 多组整数求和(题号:1109,难度:★) 103

6.3.3 百钱百鸡问题(题号:2095,难度:★) 104

6.3.4 九九乘法表(题号:1119,难度:★★) 104

6.3.5 字母金字塔(题号:1166,难度:★★) 104

6.3.6 打印菱形(题号:1214,难度:★★) 105

6.3.7 哥德巴赫猜想(题号:1174,难度:★★) 105

6.3.8 计算等式(题号:1103,难度:★★) 106

6.3.9 不重复的三位数(题号:1801,难度:★★) 106

6.3.10 鸡、兔、鸟同笼(题号:1434,难度:★★) 106

6.3.11 满载着爱的代码(题号:1241,难度:★★★) 107

实验7 一维数值型数组 108

7.1 实验目的和要求 108

7.2 实例分析 108

7.2.1 无序数组的查找(题号:1151,难度:★) 108

7.2.2 最大值和最小值(题号:1152,难度:★) 111

7.2.3 一维数组的删除(题号:1154,难度:★★) 114

7.3 上机实验题 115

7.3.1 一维数组基本练习(题号:1149,难度:★) 115

7.3.2 平均分及不合格人数(题号:1111,难度:★) 115

7.3.3 简单评委打分(题号:1147,难度:★) 116

7.3.4 求年月日(题号:1075,难度:★) 116

7.3.5 一维数组逆序显示(题号:1155,难度:★) 116

7.3.6 斐波那契的兔子问题(题号:1124,难度:★) 117

7.3.7 有序数组的查找(题号:1158,难度:★) 117

7.3.8 一维数组的插入(题号:1153,难度:★) 118

7.3.9 剔除数字0(题号:1194,难度:★) 118

7.3.10 简单一维数组排序(题号:1156,难度:★) 118

7.3.11 最高分和最低分(题号:1157,难度:★) 119

7.3.12 统计素数(题号:1131,难度:★) 119

7.3.13 百灯判熄(题号:1122,难度:★★) 119

7.3.14 十进制转换成八进制(题号:1172,难度:★★) 120

7.3.15 幂之和(题号:1209,难度:★★) 120

7.3.16 三天打鱼两天晒网(题号:1228,难度:★★) 121

7.3.17 数制转换(题号:1239,难度:★★) 121

7.3.18 一位数出现的次数(题号:1252,难度:★★) 121

7.3.19 susan的货币兑换(题号:1167,难度:★★) 122

7.3.20 无重复的排序(题号:1262,难度:★★) 122

实验8 二维数值型数组 124

8.1 实验目的和要求 124

8.2 实例分析 124

8.2.1 二维数组的输入和输出(题号:1141,难度:★) 124

8.2.2 二维数组的最大值(题号:1161,难度:★) 126

8.3 上机实验题 128

8.3.1 单位矩阵初始化(题号:1140,难度:★) 128

8.3.2 二维数组求行平均值(题号:1142,难度:★) 128

8.3.3 对角线元素和(题号:1164,难度:★) 129

8.3.4 上三角置零(题号:1298,难度:★) 129

8.3.5 内部和(题号:1299,难度:★) 129

8.3.6 边界积(题号:1312,难度:★) 130

8.3.7 二维数组最大值及位置(题号:1162,难度:★★) 130

8.3.8 杨辉三角形(题号:1165,难度:★★) 131

8.3.9 二维数组行列互换(题号:1169,难度:★★) 131

8.3.10 二维数组的鞍点(题号:1181,难度:★★) 132

实验9 字符数组和字符串 133

9.1 实验目的和要求 133

9.2 实例分析 133

9.2.1 字符变换(题号:1057,难度:★) 133

9.2.2 回文数字(题号:1144,难度:★) 136

9.3 上机实验题 137

9.3.1 相邻字符判相等(题号:1054,难度:★) 137

9.3.2 特定字符出现次数(题号:1056,难度:★) 138

9.3.3 单词译码(题号:1139,难度:★) 138

9.3.4 数字提取(题号:1187,难度:★) 139

9.3.5 镜像文字(题号:1336,难度:★) 139

9.3.6 回文字符串(题号:1145,难度:★) 139

9.3.7 输出最短字符串(题号:1201,难度:★) 140

9.3.8 数字字符出现频率(题号:1148,难度:★★) 140

9.3.9 字母出现频率(题号:1159,难度:★★) 140

9.3.10 文章中字符数统计(题号:1150,难度:★★) 141

9.3.11 C语言合法标识符(题号:1190,难度:★★) 141

9.3.12 判断字符串类型(题号:1199,难度:★★) 142

9.3.13 首字母变大写(题号:1337,难度:★★) 142

9.3.14 清除行注释(题号:1138,难度:★★) 142

9.3.15 查找最大元素(题号:1175,难度:★★) 143

9.3.16 城市名排序(题号:1185,难度:★★) 143

9.3.17 你能找出多少个整数(题号:1315,难度:★★) 144

9.3.18 幸运抽奖(题号:1340,难度:★★) 144

9.3.19 去过的城市(题号:1352,难度:★★) 145

9.3.20 快乐的字符串(题号:1341,难度:★★) 146

实验10 函数的基本使用 147

10.1 实验目的和要求 147

10.2 实例分析 147

10.2.1 大写字母变小写(题号:2628,难度:★) 147

10.2.2 求阶乘(题号:2629,难度:★) 149

10.3 上机实验题 152

10.3.1 两整数相加(题号:2627,难度:★) 153

10.3.2 多项式求值(题号:2630,难度:★) 153

10.3.3 求两数平均值(题号:2631,难度:★) 154

10.3.4 求两数最大值(题号:2634,难度:★) 154

10.3.5 是否素数(题号:2636,难度:★) 155

10.3.6 判断区域内的素数(题号:2633,难度:★) 155

10.3.7 是否完全数(题号:2635,难度:★) 156

10.3.8 字母金字塔(题号:2632,难度:★) 157

10.3.9 求最大公约数(题号:2644,难度:★) 157

10.3.10 不一样的斐波那契(题号:2645,难度:★) 158

10.3.11 汉诺塔(题号:1143,难度:★★) 159

实验11 指针、数组与函数 160

11.1 实验目的和要求 160

11.2 实例分析 160

11.2.1 最大值和最小值(题号:1152,难度:★) 160

11.2.2 单位矩阵初始化(题号:1140,难度:★) 161

11.3 上机实验题 163

11.3.1 简单数字显示(题号:2637,难度:★) 163

11.3.2 一维数组元素加1显示(题号:2639,难度:★) 163

11.3.3 两数求和(题号:2641,难度:★) 164

11.3.4 求数组中的最大值(题号:2646,难度:★) 164

11.3.5 计算总分(题号:1110,难度:★) 165

11.3.6 还是平均分(题号:1112,难度:★) 166

11.3.7 一维数组排序(题号:1170,难度:★) 166

11.3.8 二维数组元素加1操作(题号:1160,难度:★) 167

11.3.9 字符串长度(题号:1182,难度:★) 168

11.3.9 连接字符串(题号:1183,难度:★) 168

11.3.10 字符串复制(题号:1256,难度:★) 169

11.3.11 比较串的大小(题号:1404,难度:★) 169

11.3.12 正数的平均值(题号:1200,难度:★) 170

11.3.13 数组中对应元素相减(题号:2647,难度:★) 171

11.3.14 无序数组的查找(题号:1151,难度:★) 171

11.3.15 二维数组的输入输出(题号:1141,难度:★) 172

11.3.16 数字剔除(题号:1443,难度:★★) 172

11.3.17 字符接龙(题号:1444,难度:★★) 173

实验12 结构体 174

12.1 实验目的和要求 174

12.2 实例分析 174

12.2.1 牛刀小试结构体(题号:1435,难度:★) 174

12.2.2 课程平均分(题号:1445,难度:★) 176

12.3 上机实验题 178

12.3.1 初学结构体(题号:1436,难度:★) 178

12.3.2 结构体的嵌套(题号:1437,难度:★) 178

12.3.3 计算总分(题号:1438,难度:★) 179

12.3.4 候选人得票统计(题号:1887,难度:★) 179

12.3.5 最高分与平均分(题号:1310,难度:★) 180

12.3.6 教务系统之输入输出(题号:1331,难度:★) 181

12.3.7 教务系统之平均成绩(题号:1414,难度:★) 183

12.3.8 考试之后(题号:1372,难度:★★) 184

12.3.9 OJ上的简单排名(题号:1429,难度:★★) 184

12.3.10 庆功晚宴(题号:1370,难度:★★) 185

12.3.11 情人节的百宝箱(题号:1371,难度:★★) 185

12.3.12 奖学金(题号:1439,难度:★★) 186

12.3.13 购买贺年卡(题号:1440,难度:★★★) 188

12.3.14 最简真分数递增序列(题号:1400,难度:★★★) 188

实验13 单向链表 189

13.1 实验目的和要求 189

13.2 实例分析 189

13.2.1 静态链表的建立和查询(题号:1327,难度:★) 189

13.2.2 链表删除(题号:1392,难度:★★) 190

13.3 上机实验题 193

13.3.1 动态链表的建立和查询(题号:1425,难度:★) 193

13.3.2 链表插入(题号:1394,难度:★★) 194

13.3.3 约瑟夫(题号:1390,难度:★★) 194

13.3.4 复杂的链表删除(题号:1392,难度:★★) 195

实验14 文件 196

14.1 实验目的和要求 196

14.2 实例分析 196

14.2.1 CoCo的小把戏 196

14.2.2 存储学生信息 197

14.3 上机实验题 199

14.3.1 信息的显示 199

14.3.2 专家的工作 199

14.3.3 奇偶数分离 199

14.3.4 学生成绩管理 200

实验15 课程设计 201

15.1 小学生四则运算小游戏 201

15.1.1 问题描述 201

15.1.2 知识点 201

15.1.3 功能分析 201

15.1.4 参考代码1.0 202

15.1.5 参考代码2.0 203

15.2 学生成绩管理系统 205

15.2.1 问题描述 205

15.2.2 知识点 205

15.2.3 功能分析 205

15.2.4 参考代码1.0 206

15.2.5 参考代码2.0 208

第2部分 习题汇编 215

习题1计算机与程序设计概述 215

习题2基本数据类型与顺序结构 217

习题3选择结构 219

习题4循环结构 223

习题5数值型数组 228

习题6字符数组和字符串 231

习题7函数 234

习题8指针、数组与函数 238

习题9结构体 243

习题10链表 246

习题11文件 249

习题参考答案 252

参考文献 254