按《信息学奥赛一本通(C版)》在线题库 ybt.ssoier.cn 左侧「题库全部题目分类索引」整理的 **C编程语言篇**,可对照原书顺序刷题。
怎么用这份单子
- 一本通题号 链接到一本通原题页;ROJ 收录 列是站内链接,在本站点开直接看题面;
- ROJ 列为
—表示 ROJ 暂未收录这道题(仍可去一本通原站做); - 括号里标注「ROJ 题名」的,表示 ROJ 侧题目名称与一本通不同(多为改名/换译),题面是同一道题;
- 附录 A 列出 ROJ 中『同题不同编号』的情况,分「已核对」「待核对」两档可信度;
- 一本通题目单共 5 篇(C++编程语言 / 基础算法 / 数据结构基础 / 算法提高篇 / 高手训练篇),可在题目单列表里切换;勾选进度在站内按题号全局共享,跨篇不会丢;
- 在 GitHub 上阅读时,
/problem/…是站内路径,需补上https://roj.ac.cn前缀才能点开。
本篇概览
本篇 251 题,本站收录 251(100%);一本通题目单共 5 篇、895 题。
目录
C++编程语言
第一章、C++语言入门
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2060 | 【例1.1】计算机输出 | ROJ 5006(ROJ 题号 5006) |
| 2 | 2061 | 【例1.2】梯形面积 | ROJ 5062(ROJ 题号 5062) |
| 3 | 2062 | 【例1.3】电影票 | ROJ 5063(ROJ 题号 5063) |
| 4 | 2063 | 【例1.4】牛吃牧草 | ROJ 5064(ROJ 题号 5064) |
| 5 | 1002 | 输出第二个整数 | ROJ 1002 |
| 6 | 1003 | 对齐输出 | ROJ 1003 |
| 7 | 1004 | 字符三角形 | ROJ 1004 |
| 8 | 1005 | 地球人口承载力估计 | ROJ 1005 |
第二章、顺序结构程序设计
第一节 运算符和表达式
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2064 | 【例2.1】交换值 | ROJ 5065(ROJ 题号 5065) |
| 2 | 2065 | 【例2.2】整数的和 | ROJ 5066(ROJ 题号 5066) |
| 3 | 2066 | 【例2.3】买图书 | ROJ 5067(ROJ 题号 5067) |
| 4 | 1007 | 计算(a+b)×c的值 | ROJ 1007 |
| 5 | 1008 | 计算(a+b)/c的值 | ROJ 1008 |
| 6 | 1009 | 带余除法 | ROJ 1009 |
| 7 | 1010 | 计算分数的浮点数值 | ROJ 1010 |
第二节 常量和变量
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2067 | 【例2.5】圆 | ROJ 5068(ROJ 题号 5068) |
| 2 | 2068 | 【例2.6】鸡兔同笼 | ROJ 5069(ROJ 题号 5069) |
| 3 | 1011 | 甲流疫情死亡率 | ROJ 1011 |
| 4 | 1012 | 计算多项式的值 | ROJ 1012 |
| 5 | 1013 | 温度表达转化 | ROJ 1013 |
| 6 | 1014 | 与圆相关的计算 | ROJ 1014 |
| 7 | 1015 | 计算并联电阻的阻值 | ROJ 1015 |
第三节 标准数据类型
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 1414 | 【17NOIP普及组】成绩 | ROJ 1414 |
| 2 | 1016 | 整型数据类型存储空间大小 | ROJ 1016 |
| 3 | 1017 | 浮点型数据类型存储空间大小 | ROJ 1017 |
| 4 | 1018 | 其他数据类型存储空间大小 | ROJ 1018 |
| 5 | 1019 | 浮点数向零舍入 | ROJ 1019 |
| 6 | 1020 | 打印ASCII码 | ROJ 1020 |
| 7 | 1021 | 打印字符 | ROJ 1021 |
| 8 | 1022 | 整型与布尔型的转换 | ROJ 1022 |
| 9 | 1023 | Hello,World!的大小 | ROJ 1023 |
第四节 数据输入输出
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2069 | 【例2.12 】糖果游戏 | ROJ 5070(ROJ 题号 5070) |
| 2 | 1024 | 保留3位小数的浮点数 | ROJ 1024 |
| 3 | 1025 | 保留12位小数的浮点数 | ROJ 1025 |
| 4 | 1026 | 空格分隔输出 | ROJ 1026 |
| 5 | 1027 | 输出浮点数 | ROJ 1027 |
| 6 | 1028 | 字符菱形 | ROJ 1028 |
第五节 顺序结构实例
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2070 | 【例2.13】数字对调 | ROJ 5071(ROJ 题号 5071) |
| 2 | 2071 | 【例2.14】平均分 | ROJ 5072(ROJ 题号 5072) |
| 3 | 2072 | 【例2.15】歌手大奖赛 | ROJ 5073(ROJ 题号 5073) |
| 4 | 2073 | 【例2.16 】三角形面积 | ROJ 5074(ROJ 题号 5074) |
| 5 | 1029 | 计算浮点数相除的余 | ROJ 1029 |
| 6 | 1030 | 计算球的体积 | ROJ 1030 |
| 7 | 1031 | 反向输出一个三位数 | ROJ 1031 |
| 8 | 1032 | 大象喝水查 | ROJ 1032 |
| 9 | 1033 | 计算线段长度 | ROJ 1033 |
| 10 | 1034 | 计算三角形面积 | ROJ 1034 |
| 11 | 1035 | 等差数列末项计算 | ROJ 1035 |
| 12 | 1036 | A×B问题 | ROJ 1036 |
| 13 | 1037 | 计算2的幂 | ROJ 1037 |
| 14 | 1038 | 苹果和虫子 | ROJ 1038 |
第三章、程序的控制结构
第一节 if选择结构
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2051 | 【例3.1】偶数 | ROJ 5053(ROJ 题号 5053) |
| 2 | 2052 | 【例3.2】范围判断 | ROJ 5054(ROJ 题号 5054) |
| 3 | 2053 | 【例3.3】三个数 | ROJ 5055(ROJ 题号 5055) |
| 4 | 2054 | 【例3.4】适合晨练 | ROJ 5056(ROJ 题号 5056) |
| 5 | 2055 | 【例3.5】收费 | ROJ 5057(ROJ 题号 5057) |
| 6 | 2056 | 【例3.7】最大的数 | ROJ 5058(ROJ 题号 5058) |
| 7 | 1039 | 判断数正负 | ROJ 1039 |
| 8 | 1040 | 输出绝对值 | ROJ 1040 |
| 9 | 1041 | 奇偶数判断 | ROJ 1041 |
| 10 | 1042 | 奇偶ASCII值判断 | ROJ 1042 |
| 11 | 1043 | 整数大小比较 | ROJ 1043 |
| 12 | 1044 | 判断是否为两位数 | ROJ 1044 |
| 13 | 1045 | 收集瓶盖赢大奖 | ROJ 1045 |
| 14 | 1046 | 判断一个数能否同时被3和5整除 | ROJ 1046 |
| 15 | 1047 | 判断能否被3,5,7整除 | ROJ 1047 |
| 16 | 1048 | 有一门课不及格的学生 | ROJ 1048 |
第二节 switch语句
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2057 | 【例3.9 】星期几 | ROJ 5059(ROJ 题号 5059) |
| 2 | 2058 | 【例3.10】简单计算器 | ROJ 5060(ROJ 题号 5060) |
| 3 | 2059 | 【例3.11】买笔 | ROJ 5061(ROJ 题号 5061) |
| 4 | 1049 | 晶晶赴约会 | ROJ 1049 |
| 5 | 1050 | 骑车与走路 | ROJ 1050 |
| 6 | 1051 | 分段函数 | ROJ 1051 |
| 7 | 1052 | 计算邮资 | ROJ 1052 |
| 8 | 1053 | 最大数输出 | ROJ 1053 |
| 9 | 1054 | 三角形判断 | ROJ 1054 |
| 10 | 1055 | 判断闰年 | ROJ 1055 |
| 11 | 1056 | 点和正方形的关系 | ROJ 1056 |
| 12 | 1058 | 求一元二次方程 | ROJ 1058 |
第四章、循环结构的程序设计
第一节 for语句
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2016 | 【例4.1】for循环求和 | ROJ 5005(ROJ 题号 5005) |
| 2 | 2017 | 【例4.2】输出偶数 | ROJ 5019(ROJ 题号 5019) |
| 3 | 2018 | 【例4.3】输出奇偶数之和 | ROJ 5020(ROJ 题号 5020) |
| 4 | 2019 | 【例4.4】求阶乘 | ROJ 5021(ROJ 题号 5021) |
| 5 | 1059 | 求平均年龄 | ROJ 1059 |
| 6 | 1060 | 均值 | ROJ 1060 |
| 7 | 1061 | 求整数的和与均值 | ROJ 1061 |
| 8 | 1062 | 最高的分数 | ROJ 1062 |
| 9 | 1063 | 最大跨度值 | ROJ 1063 |
| 10 | 1064 | 奥运奖牌计数 | ROJ 1064 |
| 11 | 1065 | 奇数求和 | ROJ 1065 |
| 12 | 1066 | 满足条件的数累加 | ROJ 1066 |
| 13 | 1067 | 整数的个数 | ROJ 1067 |
| 14 | 1068 | 与指定数字相同的数的个数 | ROJ 1068 |
| 15 | 1069 | 乘方计算 | ROJ 1069 |
| 16 | 1070 | 人口增长 | ROJ 1070 |
| 17 | 1071 | 菲波那契数 | ROJ 1071 |
| 18 | 1072 | 鸡尾酒疗法 | ROJ 1072 |
| 19 | 1073 | 救援 | ROJ 1073 |
| 20 | 1074 | 津津的储蓄计划 | ROJ 1074 |
| 21 | 1075 | 药房管理 | ROJ 1075 |
| 22 | 1076 | 正常血压 | ROJ 1076 |
| 23 | 1077 | 统计满足条件的4位数 | ROJ 1077 |
| 24 | 1078 | 求分数序列和 | ROJ 1078 |
| 25 | 1079 | 计算分数加减表达式的值 | ROJ 1079 |
| 26 | 1080 | 余数相同问题 | ROJ 1080 |
| 27 | 1081 | 分苹果 | ROJ 1081 |
| 28 | 1082 | 求小数的某一位 | ROJ 1082 |
| 29 | 1083 | 计算星期几 | ROJ 1083 |
| 30 | 1084 | 幂的末尾 | ROJ 1084 |
第二节 while语句
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2020 | 【例4.5】第几项 | ROJ 5022(ROJ 题号 5022) |
| 2 | 2021 | 【例4.6】最大公约数 | ROJ 5023(ROJ 题号 5023) |
| 3 | 2022 | 【例4.7】最小n值 | ROJ 5024(ROJ 题号 5024) |
| 4 | 2023 | 【例4.8】数据统计 | ROJ 5025(ROJ 题号 5025) |
| 5 | 1085 | 球弹跳高度的计算 | ROJ 1085 |
| 6 | 1086 | 角谷猜想 | ROJ 1086 |
| 7 | 1087 | 级数求和 | ROJ 1087 |
| 8 | 1088 | 分离整数的各个数 | ROJ 1088 |
| 9 | 1089 | 数字反转 | ROJ 1089 |
| 10 | 1090 | 含k个3的数 | ROJ 1090 |
第三节 do-while语句
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2024 | 【例4.10】末两位数 | ROJ 5026(ROJ 题号 5026) |
| 2 | 2025 | 【例4.11】体操队 | ROJ 5027(ROJ 题号 5027) |
| 3 | 1085 | 球弹跳高度的计算 | ROJ 1085 |
| 4 | 1086 | 角谷猜想 | ROJ 1086 |
| 5 | 1087 | 级数求和 | ROJ 1087 |
| 6 | 1088 | 分离整数的各个数 | ROJ 1088 |
| 7 | 1089 | 数字反转 | ROJ 1089 |
| 8 | 1090 | 含k个3的数 | ROJ 1090 |
第四节 循环嵌套
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2026 | 【例4.12】阶乘和 | ROJ 5028(ROJ 题号 5028) |
| 2 | 2027 | 【例4.13】三角形 | ROJ 5029(ROJ 题号 5029) |
| 3 | 2028 | 【例4.14】百钱买百鸡 | ROJ 5030(ROJ 题号 5030) |
| 4 | 2029 | 【例4.15】水仙花数 | ROJ 5031(ROJ 题号 5031) |
| 5 | 2030 | 【例4.16】找素数 | ROJ 5032(ROJ 题号 5032) |
| 6 | 2031 | 【例4.17】四位完全平方数 | ROJ 5033(ROJ 题号 5033) |
| 7 | 2032 | 【例4.18】分解质因数 | ROJ 5034(ROJ 题号 5034) |
| 8 | 2033 | 【例4.19】阶乘之和 | ROJ 5035(ROJ 题号 5035) |
| 9 | 1091 | 求阶乘的和 | ROJ 1091 |
| 10 | 1092 | 求出e的值 | ROJ 1092 |
| 11 | 1093 | 计算多项式的值 | ROJ 1093 |
| 12 | 1094 | 与7无关的数 | ROJ 1094 |
| 13 | 1095 | 数1的个数 | ROJ 1095 |
| 14 | 1096 | 数字统计 | ROJ 1096 |
| 15 | 1097 | 画矩形 | ROJ 1097 |
| 16 | 1098 | 质因数分解 | ROJ 1098 |
| 17 | 1099 | 第n小的质数 | ROJ 1099(ROJ 题名:第n小质数) |
| 18 | 1100 | 金币 | ROJ 1100 |
| 19 | 1101 | 不定方程求解 | ROJ 1101 |
第五章、数组
第一节 一维数组
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2034 | 【例5.1】反序输出 | ROJ 5036(ROJ 题号 5036) |
| 2 | 2035 | 【例5.2】平移数据 | ROJ 5037(ROJ 题号 5037) |
| 3 | 2036 | 【例5.3】开关门 | ROJ 5038(ROJ 题号 5038) |
| 4 | 2037 | 【例5.4】约瑟夫问题 | ROJ 5039(ROJ 题号 5039) |
| 5 | 2038 | 【例5.5】最大数位置 | ROJ 5040(ROJ 题号 5040) |
| 6 | 2039 | 【例5.6】冒泡排序 | ROJ 5041(ROJ 题号 5041) |
| 7 | 2040 | 【例5.7】筛选法找质数 | ROJ 5042(ROJ 题号 5042) |
| 8 | 1102 | 与指定数字相同的数的个数 | ROJ 1102 |
| 9 | 1103 | 陶陶摘苹果 | ROJ 1103 |
| 10 | 1104 | 计算书费 | ROJ 1104 |
| 11 | 1105 | 数组逆序重存放 | ROJ 1105 |
| 12 | 1106 | 年龄与疾病 | ROJ 1106 |
| 13 | 1107 | 校门外的树 | ROJ 1107 |
| 14 | 1108 | 向量点积计算 | ROJ 1108 |
| 15 | 1109 | 开关灯 | ROJ 1109 |
| 16 | 1110 | 查找特定的值 | ROJ 1110 |
| 17 | 1111 | 不高兴的津津 | ROJ 1111 |
| 18 | 1112 | 最大值和最小值的差 | ROJ 1112 |
| 19 | 1113 | 不与最大数相同的数字之和 | ROJ 1113 |
| 20 | 1114 | 白细胞计数 | ROJ 1114 |
| 21 | 1115 | 直方图 | ROJ 1115 |
| 22 | 1116 | 最长平台 | ROJ 1116 |
| 23 | 1117 | 整数去重 | ROJ 1117 |
| 24 | 1118 | 铺地毯 | ROJ 1118 |
第二节 二维数组
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2041 | 【例5.9】新矩阵 | ROJ 5043(ROJ 题号 5043) |
| 2 | 2042 | 【例5.10】稀疏矩阵 | ROJ 5044(ROJ 题号 5044) |
| 3 | 2043 | 【例5.11】杨辉三角形 | ROJ 5045(ROJ 题号 5045) |
| 4 | 2044 | 【例5.12】回文字串 | ROJ 5046(ROJ 题号 5046) |
| 5 | 2045 | 【例5.13】蛇形填数 | ROJ 5047(ROJ 题号 5047) |
| 6 | 1119 | 矩阵交换行 | ROJ 1119 |
| 7 | 1120 | 同行列对角线的格 | ROJ 1120 |
| 8 | 1121 | 计算矩阵边缘元素之和 | ROJ 1121 |
| 9 | 1122 | 计算鞍点 | ROJ 1122 |
| 10 | 1123 | 图像相似度 | ROJ 1123 |
| 11 | 1124 | 矩阵加法 | ROJ 1124 |
| 12 | 1125 | 矩阵乘法 | ROJ 1125 |
| 13 | 1126 | 矩阵转置 | ROJ 1126 |
| 14 | 1127 | 图像旋转 | ROJ 1127 |
| 15 | 1128 | 图像模糊处理 | ROJ 1128 |
第三节 字符类型和字符数组
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 2046 | 【例5.15】替换字母 | ROJ 5048(ROJ 题号 5048) |
| 2 | 2047 | 【例5.16】过滤空格 | ROJ 5049(ROJ 题号 5049) |
| 3 | 2048 | 【例5.18】串排序 | ROJ 5050(ROJ 题号 5050) |
| 4 | 2049 | 【例5.19】字符串判等 | ROJ 5051(ROJ 题号 5051) |
| 5 | 2050 | 【例5.20】字串包含 | ROJ 5052(ROJ 题号 5052) |
| 6 | 1839 | 【05NOIP提高组】谁拿了最多奖学金 | ROJ 1839 |
| 7 | 1131 | 基因相关性 | ROJ 1131 |
| 8 | 1132 | 石头剪子布 | ROJ 1132 |
| 9 | 1133 | 输出亲朋字符串 | ROJ 1133 |
| 10 | 1134 | 合法C标识符查 | ROJ 1134 |
| 11 | 1135 | 配对碱基链 | ROJ 1135 |
| 12 | 1136 | 密码翻译 | ROJ 1136 |
| 13 | 1137 | 加密的病历单 | ROJ 1137 |
| 14 | 1138 | 将字符串中的小写字母转换成大写字母 | ROJ 1138 |
| 15 | 1139 | 整理药名 | ROJ 1139 |
| 16 | 1140 | 验证子串 | ROJ 1140 |
| 17 | 1141 | 删除单词后缀 | ROJ 1141 |
| 18 | 1142 | 单词的长度 | ROJ 1142 |
| 19 | 1143 | 最长最短单词 | ROJ 1143 |
| 20 | 1144 | 单词翻转 | ROJ 1144 |
| 21 | 1145 | 字符串p型编码 | ROJ 1145 |
| 22 | 1146 | 判断字符串是否为回文 | ROJ 1146 |
| 23 | 1147 | 最高分数的学生姓名 | ROJ 1147 |
| 24 | 1148 | 连续出现的字符 | ROJ 1148 |
| 25 | 1149 | 最长单词2 | ROJ 1149 |
第六章、函数
第一节 函数
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 1150 | 求正整数2和n之间的完全数 | ROJ 1150 |
| 2 | 1151 | 素数个数 | ROJ 1151 |
| 3 | 1152 | 最大数max(x,y,z) | ROJ 1152 |
| 4 | 1153 | 绝对素数 | ROJ 1153 |
| 5 | 1154 | 亲和数 | ROJ 1154 |
| 6 | 1155 | 回文三位数 | ROJ 1155 |
| 7 | 1156 | 求π的值 | ROJ 1156 |
| 8 | 1157 | 哥德巴赫猜想 | ROJ 1157 |
| 9 | 1397 | 简单算术表达式求值 | ROJ 1397 |
| 10 | 1398 | 短信计费 | ROJ 1398 |
| 11 | 1399 | 甲流病人初筛 | ROJ 1399 |
| 12 | 1400 | 统计单词数 | ROJ 1400 |
| 13 | 1401 | 机器翻译 | ROJ 1401 |
| 14 | 1402 | Vigenère密码 | ROJ 1402 |
| 15 | 1403 | 素数对 | ROJ 1403 |
| 16 | 1404 | 我家的门牌号 | ROJ 1404 |
| 17 | 1405 | 质数的和与积 | ROJ 1405 |
| 18 | 1406 | 单词替换 | ROJ 1406 |
| 19 | 1407 | 笨小猴 | ROJ 1407 |
| 20 | 1408 | 素数回文数的个数 | ROJ 1408 |
| 21 | 1409 | 判决素数个数 | ROJ 1409 |
| 22 | 1410 | 最大质因子序列 | ROJ 1410 |
| 23 | 1411 | 区间内的真素数 | ROJ 1411 |
| 24 | 1412 | 二进制分类 | ROJ 1412 |
| 25 | 1413 | 确定进制 | ROJ 1413 |
第二节 递归算法
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 1158 | 求1+2+3+… | ROJ 1158 |
| 2 | 1159 | 斐波那契数列 | ROJ 1159 |
| 3 | 1160 | 倒序数 | ROJ 1160 |
| 4 | 1161 | 转进制 | ROJ 1161 |
| 5 | 1162 | 字符串逆序 | ROJ 1162 |
| 6 | 1163 | 阿克曼(Ackmann)函数 | ROJ 1163 |
| 7 | 1164 | digit函数 | ROJ 1164 |
| 8 | 1165 | Hermite多项式 | ROJ 1165 |
| 9 | 1166 | 求f(x,n) | ROJ 1166 |
| 10 | 1167 | 再求f(x,n) | ROJ 1167 |
第七章、结构体
| 序号 | 一本通题号 | 题目名称 | ROJ 收录 |
|---|---|---|---|
| 1 | 1147 | 最高分数的学生姓名 | ROJ 1147 |
| 2 | 1399 | 甲流病人初筛 | ROJ 1399 |
| 3 | 1176 | 谁考了第k名 | ROJ 1176 |
| 4 | 1178 | 成绩排序 | ROJ 1178 |
| 5 | 1183 | 病人排队 | ROJ 1183 |
| 6 | 1839 | 【05NOIP提高组】谁拿了最多奖学金 | ROJ 1839 |
附录 A:同题异号对照
下表的题目在本篇中没有同题号的记录,但 ROJ 的其他题号下可能有同一道题(同一道经典题被多个题库收录、题号各不相同)。做题时任选其一即可。
A.1 已核对(同一场真题,年份与组别一致)
(无)
A.2 待核对(题目同名)
同名不等于同题(比如两本书里都有叫「最大公约数」的题),刷题前请先对照题面。
(无)
数据来源与更新
- 分类树与题目标题抓取自 ybt.ssoier.cn(快照:
scripts/ybt_catalog.json);ROJ 收录情况取自本仓库problems/*/config.json。 - 表格区(
<!-- ybt:generated:start -->与<!-- ybt:generated:end -->之间)由python3 scripts/gen_ybt_list.py重新生成,引言、笔记等区块外内容可手工修改。