输入n(n<50)个学生的成绩信息,再输入一个学生的学号、课程以及成绩,在自定义函数update_score()中修改该学生指定课程的成绩。

函数接口定义:


int update_score(struct student *p, int n, int num, int course, int score);

其中p是结构指针,n是学生个数,course是课程序号,score是修改后的课程成绩。函数须返回指定学生的顺序位置,如果查无此人,返回-1。

裁判测试程序样例:


#include <stdio.h> struct student{ /*学生信息结构定义*/ int num; /* 学号 */ char name[10]; /* 姓名 */ int math, english, computer; /* 三门课程成绩 */ }; int update_score(struct student *p, int n, int num, int course, int score); /*函数声明*/ int main(void) { int i, pos, n, num, course, score; struct student students[50]; /* 定义结构数组 */ scanf("%d", &n); for(i = 0; i < n; i++){ scanf("%d", &students[i].num); scanf("%s", students[i].name); scanf("%d", &students[i].math); scanf("%d", &students[i].english); scanf("%d", &students[i].computer); } /* 输入待修改学生信息 */ scanf("%d", &num); scanf("%d", &course); scanf("%d", &score); /*调用函数,修改学生成绩*/ pos = update_score(students, n, num, course, score); /*输出修改后的学生信息*/ if(pos == -1) printf("Not found!\n"); else { printf("%d,%d,%d,%d\n", students[pos].num, students[pos].math, students[pos].english, students[pos].computer); } return 0; } /* 请在这里填写答案 */

输入样例:

3
101 Zhang 78 87 85
102 Wang 91 88 90
103 Li 75 90 84
102 2 89

输出样例:

在这里给出相应的输出。例如:

102,91,89,90
int update_score(struct student *p, int n, int num, int course, int score)
{for(int i=0;i<n;i++,p++){if(p->num==num)//查找对应序号{if(course==1)//判断是哪门课程需要修改成绩p->math=score;if(course==2)p->english=score;if(course==3)p->computer=score;return 1;}}return -1;
}

查找有无目标序号,并修改对应课程的成绩,不算难 ,若序号无效返回-1。

6-4 修改学生成绩 (15 分)相关推荐

  1. 修改学生成绩 (15分)

    修改学生成绩 (15分) 输入n(n<50)个学生的成绩信息,再输入一个学生的学号.课程以及成绩,在自定义函数update_score()中修改该学生指定课程的成绩. 函数接口定义: int u ...

  2. 实验3-7 统计学生成绩 (15 分)

    实验3-7 统计学生成绩 (15 分) 本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布.百分制成绩到五分制成绩的转换规则: 大于等于90分为A: 小于90且大于等于80为B: 小于80 ...

  3. 7-64 计算平均成绩 (15 分)

    7-64 计算平均成绩 (15 分) 给定N个学生的基本信息,包括学号(由5个数字组成的字符串).姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平 ...

  4. 7-1 计算平均成绩 (15分)

    7-1 计算平均成绩 (15分) 给定N个学生的基本信息,包括学号(由5个数字组成的字符串).姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成 ...

  5. 7-5 百分制成绩转换为等级成绩 (15分)c语言

    ** 7-5 百分制成绩转换为等级成绩 (15分) ** 要求用switch语句完成本题 输入一个0-100的整数(代表学生的考试成绩),将百分制成绩转换为对应的等级制成绩输出. 转换的规则是:(1) ...

  6. 7-4 输出学生成绩 (20 分)

    7-4 输出学生成绩 (20 分) 本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩.最高成绩和最低成绩.建议使用动态内存分配来实现. 输入格式: 输入第一行首先给出一个正整数N,表示学 ...

  7. 7-3 计算平均成绩 (15分)

    给定N个学生的基本信息,包括学号(由5个数字组成的字符串).姓名(长度小于10的不包含空白字符的非空字符串)和成绩([0,100]区间内的整数),要求计算他们的平均成绩,并顺序输出平均线以下的学生名单 ...

  8. 【浙大版《Python 程序设计》题目集(解)】第6章-7 找出总分最高的学生(15分)

    给定N个学生的基本信息,包括学号(由5个数字组成的字符串).姓名(长度小于10的不包含空白字符的非空字符串)和3门课程的成绩([0,100]区间内的整数),要求输出总分最高学生的姓名.学号和总分. 输 ...

  9. java学生成绩管理系统类图,学生成绩管理系统的分析及设计-应用UML建模

    <学生成绩管理系统的分析及设计-应用UML建模>由会员分享,可在线阅读,更多相关<学生成绩管理系统的分析及设计-应用UML建模(48页珍藏版)>请在人人文库网上搜索. 1.第1 ...

最新文章

  1. OpenCV标准霍夫直线检测详解
  2. QQGame防专线中断系统介绍
  3. att48数据集最优值10628的解
  4. mysql雨凇_Unity3D研究院之Unity中连接本地或局域网MySQL数据库(五十九) | 雨松MOMO程序研究院...
  5. 2019牛客多校第一场
  6. C语言 删除文件 M,最全的C盘可删除文件清单
  7. php获取访问者ip地址汇总,php获取访问者IP地址汇总_PHP
  8. Doris之拦截规则 sql黑名单
  9. 信息论与编码_学术动态 | “中大网络信息理论与编码研讨会”成功举办
  10. lpddr3 阻抗_LPDDRx的总结
  11. android文献翻译,Android外文文献翻译
  12. 二极管的分类、电路符号及万用表测发光二极管正负极
  13. 俩 AI 约会遭全网围观:再厉害的算法,也逃不了翻车
  14. sv- typedef
  15. transferwise怎么提现_境外收款和汇款工具推荐:TransferWise 可提现美元到国内
  16. vos3000外呼系统话机或网关注册掉线或未注册怎样解决
  17. android手机连接windows,四种方式将数据从Windows手机免费传输到Android设备
  18. 【ICCV19 超分辨】Deep SR-ITM: Joint Learning of Super-Resolution and Inverse Tone-Mapping for 4K UHD HDR
  19. 计算机培训动员会发言稿6,期末动员会发言稿(精选6篇)
  20. 程序员健康:编程之余保护眼睛

热门文章

  1. PPT 转 video和gif
  2. 人工智能 : 第三篇”脑机接口“
  3. ps4虚拟服务器怎么设置,怎么设置ps4服务器
  4. java遍历是什么意思_Java遍历集合方法分析(实现原理、算法性能、适用场合)...
  5. Fruit Ninja
  6. 电信物联卡网络怎么样_中国电信物联卡网络模式是什么?
  7. ssh服务器banner信息,centos 7.3 banner信息设置(示例代码)
  8. mx330显卡什么级别
  9. python button使用方法_python 批量添加的button 使用同一点击事件的方法
  10. Python format的用法