首页 > 其他分享 >求助大佬——期末考试评分标准(浙大)C语言

求助大佬——期末考试评分标准(浙大)C语言

时间:2024-07-14 10:54:46浏览次数:19  
标签:缺考 10 评分标准 浙大 C语言 实验 补考 成绩 考试

最主要的问题是:1.不知道怎么控制输入的结束

2.成绩部分既有可能是数字也有可能是汉字,那我该怎么写输入的函数呢

浙大某年度期末考试的评分标准是这样的:

  1. 总评成绩 = 考勤 + 作业x20% + 阶段测试x25% + 理论考试x35% + 实验考试调整分数
  2. 作业、阶段测试、理论考试是百分制。考勤满分5分。
  3. 实验考试共有两道题,第一题10分,第二题15分。
  4. 实验考试和理论考试为上机考试,由机器判卷,给分必然是整数。作业与阶段测试的给分可能有小数。
  5. 只要参加了实验考试,哪怕交了白卷,“实验考试调整分数”就是实验考试两道题总分的开方加10。如果缺考,“实验考试调整分数”为0。
  6. 如果实验考试两道题都未得到全部分数,有一次补考的机会。补考也是两道题,第一题10分,第二题15分。
  7. 如果实验考试补考的两道题也都没能得到全部分数,最终成绩为总评成绩和59的最小值。实验考试调整分数仍按正式考试分数计算。也就是说,实验考试至少需要把一道题全部作对,最终成绩才能及格。
  8. 如果因为实验考试不及格参加了实验考试补考,并且其中至少一道题得到了全部分数,则“实验考试调整分数”强制固定为9,无视答题得分。
  9. 如果理论考试未得到50分或以上,最终成绩会变成总评成绩和59的最小值。也就是说,无论其它项目多高,只要理论考试没有拿到一半的分数,也会被算作不及格。
  10. 最终成绩四舍五入到整数,60分或以上为及格。

现在,给出一些学生的各部分成绩,请计算各自的最终成绩。

输入格式:

一行表头,其后是若干行,每行依次是空格隔开的:

姓名 学号 考勤成绩 作业成绩 阶段测试成绩 理论考试成绩 实验第一题成绩 实验第二题成绩 实验补考第一题成绩 实验补考第二题成绩

姓名和学号为不超过100字节的字符串。所有成绩可能是数字,也可能是汉字。汉字表示的成绩(比如“缺考”)一律视为0分,不会超过100字节。学生总数不超过10人。

注意:实验考试及格的同学补考缺考是正常现象。

输出格式:

每个学生一行,依次是空格隔开的:

姓名 学号 最终成绩

输入样例:

姓名 学号 考勤成绩 作业成绩 阶段测试成绩 理论考试成绩 实验第一题成绩 实验第二题成绩 实验补考第一题成绩 实验补考第二题成绩
LILY   00001 0 77 77 60 10 8 缺考 没来
ALICE  00002 5 100 100 100 9 14 9 14
BOB    00003 4 99.5 被狗咬了打疫苗去了 99.4 0 0 10 15
EVE    00004 1 80 80 40 10 5 缺考 缺考
MALORY 00005 1 80 82 80 10 15 缺考 缺考
ZACK   00006 0 0 0 0 1 0 9 14

输出样例:

LILY 00001 70
ALICE 00002 59
BOB 00003 68
EVE 00004 59
MALORY 00005 81
ZACK 00006 11

解释:

  • LILY最终成绩是69.89分左右,舍入到70。
  • ALICE虽然成绩优异,但编程题补考均未全对,算作59分。
  • BOB实验考试参加了补考,调整分数固定为9,取得的满分也无法提高成绩。因为其它分数很优秀,阶段测试缺考并未影响最后及格。
  • EVE理论考试未达到50分,算作59分。
  • MALORY最终成绩是80.5分,刚好卡在0.5,四舍五入到81。
  • ZACK成绩实在太烂,不会因为单项不及格反而提高到59分。

标签:缺考,10,评分标准,浙大,C语言,实验,补考,成绩,考试
From: https://blog.csdn.net/ngly9914/article/details/140407419

相关文章

  • C语言常见概念(划掉)我的C语言入门笔记(√)上
    本人菜鸟一枚,下述内容如有误差望各位斧正。1.什么是C语言C语言是一种计算机语言,就像汉语是一种人类语言一样。人们可以使用计算机语言给计算机下达指令,计算机会根据所接收到的指令进行工作(或者报错)。当然人类的语言不只汉语一种,计算机语言同样同样也有很多,例如Python/C++/C......
  • 数据结构,(动态)顺序表,C语言实现
    ——如果代码存在问题,请务必评论告诉我,感激不尽(#^.^#)——动态和静态的顺序表差别主要在于开辟内存的方式,动态顺序表中的数据所在内存是通过malloc函数实现的,这也意味着,动态顺序表可以更改存储数据的内存大小,其他的话基本没什么差别1.数据类型定义 structElemType想要建......
  • C语言中关键字volatile
     1:什么是volatile?    在C语言中,volatile关键字同样用于修饰变量,volatile告诉编译器该变量的值可能会在程序的控制之外被改变,因此编译器在优化代码时不能对该变量的访问进行优化,比如不能将其缓存到寄存器中,而是每次访问时都需要直接从内存中读取其值。2:变量的访问......
  • C语言——数组、sizeof关键字
    一、数组1.数组的引入与定义: C语言中的数组是一种基本的数据结构,用于在计算机内存中连续存储相同类型的数据。数组中的每个元素可以通过索引来访问,索引通常是一个整数,用于指定元素在数组中的位置。在C语言中,数组索引是从0开始的。 要使用数组,必须在程序中先定义数组,即通知......
  • C语言内存管理深度解析
    第一章基础概念梳理1.1堆与栈的区别在C语言中,堆和栈是两种重要的内存管理机制,它们之间存在显著的区别。首先,栈内存是由编译器自动分配和释放的,其操作方式类似于数据结构中的栈,遵循后进先出(LIFO)的原则。每当一个函数调用发生时,就会在栈上分配一块内存用于存储该函数的局部变......
  • C语言菜鸟学习(函数)
    引入C语言本身就是由多个函数模块组成,在C语言本身自带的头文件中,也有很多被封装好的函数,在初学C语言时,我们最先使用的就是使用printf()函数输出一个“helloworld”;而printf()函数就是被封装在#include<stdio.h>头文件中的。但是经过封装的函数我们无法看到源代码,在实际开发中......
  • C语言——练习:水仙花数、n次幂值的计算
    1.输入一个数判断是否是水仙花数,并输出100—999之间所有的水仙花数水仙花数(Narcissisticnumber),也被称为超完全数字不变数(pluperfectdigitalinvariant,PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrongnumber),是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和......
  • 在VSCODE中创建C语言环境,编译、运行、调试。
    1、安装MinGWMinGW-w64-for32and64bitWindowsdownload|SourceForge.net下载下来是一个压缩包对压缩包解压得到文件夹mingw64将文件夹mingw64剪切到C:\ProgramFiles目录下配置环境变量点击系统变量里面的Path将C:\ProgramFiles\mingw64\bin目录添加......
  • 【C语言】字符串与相关操作函数
    字符串思路分析在注释文章目录字符串一、字符串的定义1.使用sizeof()计算他们的长度二、sizeof和strlen的区别1.sizeof操作符2.strlen函数三、动态开辟字符串1.malloc函数2.realloc函数3.free函数4.memset函数四、几种字符串常用的API1.strncpy函数2.asse......
  • C语言-分支与循环(1)
    目录1、if语句1.1if1.2else1.3分支中包含多条语句1.4嵌套if1.5悬空else问题(多个if和一个else对应关系)2、switch语句2.1switch语句中的break2.2switch语句中的default2.3switch语句中的case和default的顺序问题3、关系操作符4、条件操作符4.1什么是条件......