2019春第九周编程总结
遍历每个学生记录。 根据成绩范围设定等级。 统计低于60分的学生人数。 初始代码未正确处理大括号,导致语法错误。 通过检查代码逻辑,确保每个条件判断正确无误。 测试样例输入后,确认函数正确返回不及格人数,并正确设置等级。 读取学生信息并初始化标记。 从前半部分和后半部分分别遍历,找到异性配对。 确保每对学生的性别不同时输出,并标记已配对。 初始代码中 通过调整循环条件,确保正确遍历学生数组。 最终代码通过测试样例,正确完成分组任务。 读取考生信息并存储。 读取查询的试机座位号列表。 对每个查询,遍历考生信息,找到对应的考试座位号并输出。 初始代码未正确读取多个数字字段。 通过调整 最终代码通过测试样例,正确完成座位号查询任务。
发布日期:2025-06-19 14:32:51
浏览次数:3
分类:精选文章
本文共 3228 字,大约阅读时间需要 10 分钟。
学习总结:C语言程序设计课程作业
6-1 按等级统计学生成绩
问题描述:实现一个根据学生成绩设置等级并统计不及格人数的简单函数。
函数接口定义:int set_grade(struct student *p, int n);
其中,struct student的定义为:
struct student { int num; char name[20]; int score; char grade; }; 输入样例:
学生信息:31001 annie 85331002 bonny 75331003 carol 70331004 dan 84331005 susan 90331006 paul 69331007 pam 60331008 apple 50331009 nancy 10031010 bob 78输出样例:
不及格人数:1学生成绩及等级:31001 annie A31002 bonny B31003 carol B31004 dan B31005 susan A31006 paul C31007 pam C31008 apple D31009 nancy A31010 bob B实验代码:
int set_grade(struct student *p, int n) { int i, sum = 0; for (i = 0; i < n; i++) { if ((*p).score > 85 && (*p).score <= 100) { (*p).grade = 'A'; } else if ((*p).score >= 70 && (*p).score <= 84) { (*p).grade = 'B'; } else if ((*p).score >= 60 && (*p).score <= 69) { (*p).grade = 'C'; } else { (*p).grade = 'D'; sum++; } p++; } return sum; } 设计思路:
遇到的问题及解决:
7-1 一帮一学习小组分组
问题描述:根据学生成绩排名,将名次最高的异性学生分为一组。
输入格式:- 第一行:正偶数N(≤50)。
- 后N行:名次从高到低的学生信息,包括性别(0女,1男)和姓名。
输出格式:
按名次从高到低的顺序输出每组的两个学生姓名。输入样例:
80 Amy1 Tom1 Bill0 Cindy0 Maya1 John1 Jack0 Linda输出样例:
Amy JackTom LindaBill MayaCindy John实验代码:
#includestruct student { int sex; char name[10]; int flag; }; int main() { int n; scanf("%d", &n); struct student students[n]; for (int i = 0; i < n; i++) { scanf("%d %s", &students[i].sex, students[i].name); students[i].flag = 0; } for (int i = 0; i <= n/2; i++) { int j = n - 1 - i; if (students[i].sex != students[j].sex && students[i].flag == 0 && students[j].flag == 0) { printf("%s %s\n", students[i].name, students[j].name); students[i].flag = 1; students[j].flag = 1; } } return 0; }
设计思路:
遇到的问题及解决:
for 语句的条件书写错误。7-2 考试座位号查询
问题描述:根据试机座位号查询考生的考试座位号。
输入格式:- 第一行:正整数N(≤1000)。
- 后N行:每个考生的准考证号、试机座位号、考试座位号。
- 最后给出M个试机座位号,查询对应的考试座位号。
输入样例:
1043310120150912233 2 433101201509121194 13310120150912126 1 33310120150912002 3 223 4输出样例:
3310120150912002 23310120150912119 1实验代码:
#includestruct a { char num1[100]; int num2; int num3; }; int main() { int N; scanf("%d", &N); struct a s[N]; for (int i = 0; i < N; i++) { scanf("%s %d %d", s[i].num1, &s[i].num2, &s[i].num3); } int M; scanf("%d", &M); int query[M]; for (int i = 0; i < M; i++) { scanf("%d", &query[i]); } for (int i = 0; i < M; i++) { for (int j = 0; j < N; j++) { if (s[j].num2 == query[i]) { printf("%s %d\n", s[j].num1, s[j].num3); break; } } } return 0; }
设计思路:
遇到的问题及解决:
scanf 格式,确保准考证号、试机座位号和考试座位号正确读取和存储。发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2026年06月21日 15时50分49秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
PHP对接百度地图
2023-03-01
PHP对表单提交特殊字符的过滤和处理
2023-03-01
php对象引用和析构函数的关系
2023-03-01
RabbitMQ HTTP 认证后端项目常见问题解决方案
2023-03-01
PHP将图片转换成base64格式(优缺点)
2023-03-01
php将多个值的数组去除重复元素
2023-03-01
php局域网上传文件_PHP如何通过CURL上传文件
2023-03-01
PHP工具插件大全
2023-03-01
php布尔值的++
2023-03-01
PHP常量、变量作用域详解(一)
2023-03-01
PHP应用目录结构设计
2023-03-01
PHP应用程序连接MSQL数据库Demo(附crud程序)
2023-03-01
PHP应用程序连接Oracle数据库Demo(附Oracle客户端安装文件)
2023-03-01
PHP开发api接口安全验证
2023-03-01
PHP开发规范PSR
2023-03-01
PHP开发遇到错误0001
2023-03-01
php异常处理
2023-03-01
PHP引入了泛型和集合两大重要特性,大大改善 PHP 代码的可维护性和可读性
2023-03-01
PHP引擎php.ini参数优化
2023-03-01
PHP引用(&)使用详解
2023-03-01