本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数。

函数接口定义:

int set_grade( struct student *p, int n );

其中p是指向学生信息的结构体数组的指针,该结构体的定义为:

struct student{int num;char name[20];int score;char grade;
};

n是数组元素个数。学号num、姓名name和成绩score均是已经存储好的。set_grade函数需要根据学生的成绩score设置其等级grade。等级设置:85-100为A,70-84为B,60-69为C,0-59为D。同时,set_grade还需要返回不及格的人数。

裁判测试程序样例:

#include <stdio.h>
#define MAXN 10struct student{int num;char name[20];int score;char grade;
};int set_grade( struct student *p, int n );int main()
{   struct student stu[MAXN], *ptr;int n, i, count;ptr = stu;scanf("%d\n", &n);for(i = 0; i < n; i++){scanf("%d%s%d", &stu[i].num, stu[i].name, &stu[i].score);} count = set_grade(ptr, n);printf("The count for failed (<60): %d\n", count);printf("The grades:\n"); for(i = 0; i < n; i++)printf("%d %s %c\n", stu[i].num, stu[i].name, stu[i].grade);return 0;
}/* 你的代码将被嵌在这里 */

输入样例:

10
31001 annie 85
31002 bonny 75
31003 carol 70
31004 dan 84
31005 susan 90
31006 paul 69
31007 pam 60
31008 apple 50
31009 nancy 100
31010 bob 78

输出样例:

The count for failed (<60): 1
The grades:
31001 annie A
31002 bonny B
31003 carol B
31004 dan B
31005 susan A
31006 paul C
31007 pam C
31008 apple D
31009 nancy A
31010 bob B
int set_grade( struct student *p, int n )
{  int count=0,i;  for(i=0;i<n;i++)  {  if((*p).score<60)  /* *p需用括号括起来,因为*p.score等同*(p.score) */  {  (*p).grade='D';  count++;  }  else if((*p).score>=60&&(*p).score<=69)  (*p).grade='C';  else if((*p).score>=70&&(*p).score<=84)  (*p).grade='B';  else  (*p).grade='A';  p++; //最后有个p++ 代表从p0 ——> p1......... }  return count; // return 只能返回一个值 所以 返回count  代表 set_grede 的值
}                //其余的操作通过 *p 来完成

习题9-6 按等级统计学生成绩(20 分)相关推荐

  1. c语言pta按等级统计学生成绩,第九周作业

    6-1 按等级统计学生成绩 (20 分) 本题要求实现一个根据学生成绩设置其等级,并统计不及格人数的简单函数. 函数接口定义: int set_grade( struct student *p, in ...

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

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

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

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

  4. C语言刷题系列——14.(结构)计算两个复数之积15.按等级统计学生成绩16.根据成绩高低将学生记录排序

    几个与结构体相关的题 14.计算两个复数之积

  5. 计算机成绩分数段,用FreQuency函数统计学生成绩分数段的技巧-excel技巧-电脑技巧收藏家...

    用FreQuency函数统计学生成绩分数段的技巧 用Excel怎样统计出学生成绩各分数段内的人数呢?如果我们使用CountIF函数,每统计一个分数段都要写一条函数,十分麻烦,我们可以用FreQuenc ...

  6. C语言汇总学生成绩,c语言用二维数组统计学生成绩.doc

    c语言用二维数组统计学生成绩 # include /*定义一个求每门课平均成绩的函数AverageCourse 它的形参一个是二维数组,用来传递学生成绩: 一个是指针变量(数组名),存放每门课的平均成 ...

  7. 统计学生成绩 (15 分)

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

  8. 服务器项目导入成绩,用Excel服务器统计学生成绩(4)

    用Excel服务器统计学生成绩(4) 五.建立"成绩汇总"模板 录像 1.建立模板 点击"模板"-"新建模板",选择"新建&quo ...

  9. 【C语言基础】练习:结构体统计学生成绩,快递费用计算

    每日练习一:结构体统计学生成绩 题目要求:有3名学生,每个学生的数据包括学号.姓名.3门课的成绩,从键盘输入3个学生的数据,打印出每个学生的平均成绩,以及最高分学生的数据(包括学号.姓名.3门课的成绩 ...

最新文章

  1. cocos2d+lua实现帧动画播放
  2. java 一组数据中偏差较大的数据_深入分析数据结构中的队列(java代码实现)
  3. 如何绕过浏览器的弹窗拦截机制
  4. (转)AS3中的stage,this,root的区别
  5. 程序员职场:拥有一个学位将会在你的职业生涯中更加顺利!
  6. C++/C 宏定义(define)中# ## 的含义(转)
  7. java - 猴子吃桃
  8. 信息学奥赛C++语言: 计算两个数的最大公约数
  9. Stateflow子状态激活条件下迁移有效
  10. hung task日志linux,Linux Kernel Crash--hung_task_timeout_secs
  11. Web开发技术——JQuery8(添加元素和删除元素)
  12. Android 8.0 新特性(一) - 可下载字体
  13. RT Thread外设驱动添加-STH3x
  14. 在postgre中进行搜索关键字查询的方法
  15. 英国几个有名的英语考试总结
  16. 【GIT】error: failed to push some refs to 'https://github.com/username/python.git'
  17. 电影《小萝莉的猴神大叔》观后感
  18. 优秀Android开发源码合集(附解析)程序员进阶宝典
  19. 超火的壁纸网站,强烈推荐收藏!
  20. 从几何角度全新理解线性代数

热门文章

  1. 中国免充气轮胎(无气轮胎)行业发展格局及十四五态势分析报告2022-2028年版
  2. Word2016给英文添加段落编号的方法:有截图
  3. 工作流系列之Activiti概论
  4. 计算机文件夹操作教案,文件和文件夹的基本操作教案
  5. baum welch java_Baum-Welch的实施示例
  6. python做测试脚本语言_实现我自己的高级测试脚本语言
  7. 网络多人游戏架构与编程 学习笔记 第二章
  8. 北邮计算机考研好难吗,北京邮电大学考研难吗?一般要什么水平才可以进入?...
  9. 鹿游通 内网数据交换服务
  10. 购买域名搭建个人博客