2021年计算机基础知识和应用能力等级考试上机试卷14二级 C++ 语言
    2021年计算机基础知识和应用能力等级考试上机试卷14二级c++语言
    计算机基础知识和应用能力等级考试上机试卷二级c++语言
    一、改错题(20分后)
    [题目]以下程序计算奥运会鞍赛参赛选手的得分。假设共有n个裁判,每个裁判给参赛选手打分(分值在0到10之间),去掉两个最高分和两个最低分之后的平均分为运动员的最后得分。程序正确的运行结果为:
    9.379.529.98109.859.739.939.769.819.08averagescore=9.76667所含错误的源程序如下:#include#definen10;
    doublegetscore(double*score)
    {double*pstart=score,*pend=score+n;
计算机语言排行榜2021    doublemax1,max2;//max1存放最大数,max2存放次大数。doublemin1,min2;//min1存放最小数,min2存放次小数。max1=max2=min1=min2=*score;for(score++;scoremax2=*score;}elseif(min2>*score){if(min1>*score){min2=min1;min1=*score;}elsemin2=*score;}}intaver=0;for(score--;score>=pend;score--)aver+=*score;return(aver-max1-max2-min1-min2)/n;}voidmain(){doublescr[n]={9.37,9.52,9.98,10,9.85,9.73,9.93,9.76,9.81,9.08};for(inti=0;icout<[要求]1.将上述程序录入到文件myfa.cpp中,根据题目要求及程序中语句之间的逻辑关系对程序中的错误进行修改。程序中的注解可以不输入。2.改错时,可以修改语句中的一部分内容,增加少量的变量说明、函数原型说明或编译预处理命令,但不能增加其他语句,也不能删除整条语句。3.改正后的源程序文件myfa.cpp必须放在t:盘的根目录下,供阅卷用。二、编程题(20分)[题目]试定义一个类plus,实现两个不同进制的正整数相加,参与计算的两个正整数用字符串表示,若字符串第一个字符为‘0’,但第二个字符不为‘x’或‘x’,则其表示八进制数,若前两个字符为“0x”或“0x”,则其表示十六进制数,其他情况为十进制数。例如,字符串“0xa23”、“0456”、“789”分别表示十六进制数、八进制数和十进制数。计算结果用十进制整数表示。具体要求如下:(1)私有成员char*p1,*p2:p1,p2指向以字符串形式表示的参与
加法运算的两个正整数。ints:存储两个正整数相加的结果。(2)公有成员plus(char*st1,char*st2):构造函数,分别利用参数st1和st2初始化数据成员p1和p2。intdec(char*t,intn):将字符串t表示的n进制的数转换为十进制整数,并将结果返回。intnum(char*t):确定t所指向字符串的进制后,调用函数dec()将该字符串转换为十进制整数,并将结果返回。voidfun():利用函数num()实现由数据成员p1,p2所指向的两个整数的加法运算,结果存入数据成员s中。voidprint():按一定格式输出计算结果。~plus():析构函数,释放动态分配的存储空间。在主函数中输入两个字符串(八进制、十进制或十六进制形式),利用其初始化一个plus对象。调用相关成员函数完成对类plus的测试。输入/输出示例(标有下划线部分为键盘输入):输入两个整数:0340xa3c计算结果为:034+0xa3c=28+2620=2648[要求]源程序文件名必须为myfb.cpp,并放在t:盘的根目录下,供阅卷用。
   
   

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。