难题练习 — 程序设计题
练习说明
- 共 6 道程序设计题,难度高于模拟考试
- 建议每题用时 15~20 分钟
- 注意边界条件和异常处理
💻 程序设计题¶
第1题:学生成绩管理系统
题目: 编写程序实现学生成绩管理系统,功能包括:
- 添加学生(姓名、语文、数学、英语成绩)
- 删除学生(按姓名)
- 修改学生成绩(按姓名)
- 查询学生成绩(按姓名)
- 显示所有学生成绩
- 按总分从高到低排序
- 退出系统
要求: - 使用字典存储学生信息 - 输入验证:成绩范围0~100 - 菜单驱动的交互界面
示例交互:
第2题:文本统计分析
题目: 编写程序对一段英文文本进行统计分析:
- 统计英文字母个数、数字个数、空格个数、其他字符个数
- 统计每个英文字母出现的频率(不区分大小写),按频率从高到低输出
- 统计单词个数和平均单词长度
- 找出最长的单词
示例:
输入:"Hello World! Python 3.9 is great."
输出:
第3题:简易密码系统
题目: 实现一个简易的加密解密系统:
- 加密:将每个字母按密钥向后移动key位(凯撒密码),非字母字符不变
- 解密:将加密文本按密钥反向移动
- 支持0~25的密钥
- 大小写字母分别处理
示例:
第4题:矩阵运算
题目: 编写程序实现矩阵的基本运算:
- 矩阵加法(同行同列矩阵相加)
- 矩阵乘法(A的列数=B的行数时)
- 矩阵转置
- 打印矩阵(整齐排列)
要求: - 矩阵用嵌套列表表示 - 检查矩阵维度是否兼容 - 不兼容时给出提示
示例:
第5题:简易计算器
题目: 编写程序实现一个支持括号的表达式计算器:
- 支持 +、-、*、/ 四则运算
- 支持括号改变优先级
- 支持负数
- 处理除零错误
- 循环输入,输入 q 退出
提示: 可以使用栈来实现,或使用 eval() 函数(但需要安全处理)
示例:
第6题:文件处理与数据分析
题目: 编写程序读取学生成绩CSV文件,进行数据分析:
- 从文件读取学生数据(格式:姓名,语文,数学,英语)
- 计算每个学生的总分和平均分
- 计算每门课程的平均分、最高分、最低分
- 按总分排名并输出
- 将排名结果写入新文件
输入文件 scores.txt 示例:
输出文件 rank.txt 示例: