❶ 用C语言实现一个小学生口算及自测系统,实现自动出题,根据答题情况评分并记载入档案,并能根据成绩进行排
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//产生 [a,b] 区间的随机数
#define RANDOM(a,b) (rand()%((b+1)-(a)) + (a))
//产生 1-20 的整数,如要改变算术范围,则修改这个宏的参数即可
#define GEN_VALUE() RANDOM(1, 20)
int main()
{
int v1, v2, t, r, a;
char op, ops[] = { '+', '-', '*', '/' };
srand( (unsigned)time(NULL) ); //用当前时间初始化随机数种子
printf( "请答题 Ctrl+C 结束... " );
while(1)
{
v1 = GEN_VALUE(); //随机生成第1个算数
v2 = GEN_VALUE(); //随机生成第2个算数
op = ops[ RANDOM(0,3) ]; //随机决定是哪个运算符
//保证第1个算数大于第2个算数,如不需要,则把这个判断删除即可
if( v1<v2 )
{
t = v1;
v1 = v2;
v2 = t;
}
//如果运算符为除法,且v1不能被v2整除则重新生成题目
if( op=='/' && v1%v2!=0 )
continue;
//计算正确的结果
switch(op)
{
case '+': a=(float)v1+(float)v2; break;
case '-': a=(float)v1-(float)v2; break;
case '*': a=(float)v1*(float)v2; break;
case '/': a=(float)v1/(float)v2; break;
}
//输出算式
printf( "%d%c%d=", v1, op, v2 );
//等待输入结果
scanf( "%d", &r );
if( r == a )
printf( " 答对喽! " );
else
printf( " 答错喽!正确答案是:%d ", a );
}
}
❷ 计算机二级的c语言,后面有一个编程题如何给分的
不管你程序写怎么样。只看结果。对了满分不对0分。编程题满分为24分。
如果有out.dat文件,将该文件和标准答案的out.dat文件对比,看相符的比例是多少而给分,如果完全相同则是100分,如果没有out.dat文件,则比较考生编写的代码和标准答案的代码的相符情况,按相符度给分。
(2)c语言编程题自动评分扩展阅读:
1、仔细检查题目。
2、一定要考虑诸如除零、溢出、类型转换、精确度等细节。
3、不要使用快捷键。热键在考试中可能是危险的,因为UCDOS热键与TC冲突,CTRL+F9将变成全角半角转换。
4、不要加载任何输入方法。
用于计算机测试的DOS环境内存非常有限。如果您加载了任何输入方法,那么在编译程序时可能会耗尽内存,这样就会遇到麻烦。
❸ 计算机c语言二级上级考试编程题不是0分就是40分
是的,计算机C语言上机编程题要么0分要么40分。所以建议你把前两题(填空和改错)都做对。
最后一道自己尝试着去做,别轻易的放弃。
❹ 国家c语言二级要是编程题怎么给分的
计算机二级考试已实行多年,评分标准十分严谨。对于编程题,作为内评分依据的答案包含容了各种情况,而并不是死板的一种标准答案。只要靠上了答案的某种情况,就不用担心不得分。
输入一个职工的月薪salary,输出应交的个人所得税tax。
tax=rate*(salary-850)。
当salary<=850时,rate=0%;
当850<salary<=1350时,rate=5%;
当1350<salary<=2850时,rate=10%;
当2850<salary<=5850时,rate=15%;
当5850<salary时,rate=20%。
(4)c语言编程题自动评分扩展阅读:
计算机对除机器语言以外的源程序不能直接识别、理解和执行,都必须通过某种方式转换为计算机能够直接执行的。这种将高级程序设计语言编写的源程序转换到机器目标程序的方式有两种:
1、解释方式:计算机对高级语言书写的源程序一边解释一边执行,不能形成目标文件和执行文件。
2、编译方式:经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序,然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。
❺ 学渣求问C语言操作题怎么评分的
评分标准是对比那个out文件,逐行按比例给分。我昨天刚回答了一个,会在答案末尾复制粘贴过来。
思路和方法不影响得分,只要答案正确就可以。
模拟软件确实有可能有bug,你用的哪家的软件?最好把题面和程序都发上来让我看看。
下面是编程题具体评分准则:
程序编写,即俗称的编程题:
答题方式:
题目中有明确叙述,要求书写程序的某一部分,以实现题目要求的功能。通常要求书写的位置是某个指定函数的函数体,或者部分主函数的函数体,代码量6-10行左右。
评分准则:
编程题,评分依据是”能够运行出正确的结果“,即评分依据有两个关键点,一是运行,二是结果正确。
此题评分准则依旧是跟”命题组答案“对照,依旧是对比文本后逐行按比例给分,而命题组答案在此题中将会是唯一的。
编程题的评分依据,是程序编译运行后得到的一个所谓的”out文件“,该文件在考生文件夹下,由编程运行时产生,文件名中通常带有”out”字样,各题具体的文件名,查看编程题中调用fopen函数时所书写的文件名就可以确认。
例如某题面中存在如下语句:
fopen(fp,"out.dat",w);
那么该题目对应的评分依据就是对应考生文件夹下的名为“out.dat”的文件。
编程题的评分,是将out文件的内容与命题组答案对比,逐行按比例给分。
影响得分的项目如下:
①程序存在error,无法通过编译:
无法编译,就无法运行。没有运行,就不会产生out文件。没有out文件,那么将会得到“指定文件未找到”的错误,此题判0分。
另外还有一点要注意,有个别模拟软件曾经出现过,题目中指定文件名为"out.dat",但是题面程序代码中创建的却是"ps35.out",造成“指定文件未找到”判0分的情况。这属于模拟软件的bug,不会在考试中发生。
②程序通过编译且能够运行,但是代码本身存在bug。
举个例子,写程序找出1-15之间的素数。
命题组给出的out文件内容如下:
2
3
5
7
11
13
一共6行,因为编程题总分24分,所以每行占4分。
如果考生答题过程中程序书写没有错误的话,一定会得到跟命题组内容与格式完全一样的答案(文件的书写由题面的fprintf函数负责,不允许考生改动,故文件格式是已经被指定的),将会得到满分24分。
如果代码有误,程序判定过程中将7判定为非素数,得到的out文件内容与命题组答案对比及评分细则如下:
2 2 匹配,得4分
3 3 匹配,得4分
5 5 匹配,得4分
7 11 不匹配,得0分
11 13 不匹配,得0分
13 不匹配,得0分
故此题得分仅12分。
如果上述数值均正确判断,但是错误的将1判断为素数,out文件内容如下:
1
2
3
5
7
11
13
结果可想而知,逐行判定,最终肯定判0分。
额外要说明的是,大部分模拟软件,不会进行逐行按比例给分,而是一旦out文件内容与命题组答案”不完全匹配“,直接判0分,而考试时一定是逐行按比例给分的,这点无需担心。
③程序书写正确无bug,但是改动过程序命令禁止改动的其他部分,例如fprintf函数,请参考②
❻ 江苏计算机二级c语言编程题是怎么评分的
不是的,结果是一部分,过程一部分,过程占的比例大。
二级c都考了这么多年了,如果存在楼主说的bug,以现在的技术早就修补了。
建议楼主去某宝买个二级题库,自带考试软件,评分规则一样,可以先做两套练练手。
❼ c语言程序设计题自动评分是怎么实现的
处8分。
编程题是60分,主函数编写正确10分
fun函数编写正确10分
算法正确20分
引用fun函数正确10分
全程序正确10分
❽ 计算机C语言二级编程题如何评分的呢
直接看的功能,结果正确就给分,结果错了就没分了
原因有2个,对于函数编写的人 需要完成函数的功能,对于函数使用的人 只想看到结果是否正确
你将来到公司做项目,也是这样,各个工程师负责自己的功能,完成后交给项目经理,他不看你功能是怎么完成的,只管用,用出来的结果错了,他就找你 让你去改
第二 计算机2级这种东西就是政府拿来挣钱的,你看他考的标准,89年的标准,现在是2014年,早tm过时了,这种东西 不会费劲找人一条一条看语句的
❾ 计算机等级考试2级 C语言 最后一道编程题是怎么给分的呢
这就要看是机试还是笔答题了,机试一般都是通过预先准备的测试用例来自动打分,只要你的程序能通过各种测试用例,那么就给全分,否则就是零分;笔答题如果是人工批改那就灵活的多,也可能必须按照标准答案上的算法才给分(这样的题一般都有算法复杂度要求)