2024年春二级vc上机试卷参***(vc02)
一、改错题(20分)
题目】在英文文章中,左双引号和右双引号之间没有区别。但是,在某英文编辑系统中,为了区分左、右双引号,用两个连续字符“`”键盘中数字1左边的符号)代替左双引号,用两个连续单引号“'”代替右双引号。以下程序实现上述转换。
输入/输出示例如下(下划线部分为键盘输入):
i am a student!",he said, "i am twenty!".
`i am a student!' he said, `i am twenty!'
含有错误的源程序如下:
#include <>
#include <>
#include <>
char *insert(char *str,char ch,int n)
char *str1=new char[strlen(str)+2];
for(int i=0;i str1[i]=str[i];
str1[n]=ch;
for(i=n+1;i str1[i]=str[istr[i-1]
str1[i]='0';
delete str;
return str1;
void main()
char *str=new char[100];
int flag=0;
for(int i=0;!str[i];+istr[i]
if(str[iflag)
else if(str[iflag)
cout< delete str;
二、编程题(20分)
题目】试定义一个类ab,求两个整数之间最大的过剩数以及对应的过剩值。一个整数n为过剩数的条件是:n的所有因子(包括1和n本身)之和与2*n之差(假设为d)大于零。
其中,当d>0时,n的过剩值为d;当d<=0时,表示n不是过剩数。具体要求如下:
(1)私有数据成员。
int lower, upper; 所考虑整数范围的下限和上限。
2)公有成员函数。
ab(int a, int b); 构造函数,初始化成员lower和upper。
int check(int n); 检查参数n是否为过剩数,如果是过剩数,则返回相应的过剩值,否则返回-1。
int cal(int &n); 求数据成员lower和upper之间的最大过剩数(依次求出这两个整数之间每个数的过剩数,保存最大值),并赋给参数n,同时将最大过剩数所对应的过剩值作为函数的返回值。
void print();输出lower和upper之间的最大过剩数以及相应的过剩值。
3)在主函数中对该类进行测试。
输入/输出示例(下划线部分为键盘输入):
输入下限和上限:42 816
在42和816之间最大的过剩数为: 720, 其对应的过剩值为: 978
参***:#include <>
#include <>
class ab
int ab::check(int n)
int sum=1+n;
int m=n;
for(int i=2; i<=n/2; i
if(m%i==0)
if(sum>2*n)
return sum-2*n;
elsereturn -1;
int ab::cal(int &n)
int c=check(lower);
n=lower;
for(int i=lower+1; i if(cc=check(i);n=i;
return c;
void main
int l, u;
cout<<”输入下限和上限:”;
cin>>l>>u;
ab a(l, u);
等考复习VC03答案
2011年春二级vc上机试卷参 vc03 一 改错题 20分 题目 以下程序的功能是 对于给定的整型数组,判断该数组中是否存在一个子数组,其元素的和为0 假设该数组中不存在值为0的元素 如果存在,则输出第一个满足条件的子数组。所谓子数组,就是从原数组中提取若干个 至少1个 连续元素所构成的数组。例如...
全国等考C语言和9月真题,附答案
则由关系r和s得到关系t的操作是。a 自然连接 b 交 c 除 d 并。10 定义无符号整数类为uint,下面可以作为类uint实例化值的是。a 369 b 369 c 0.369 d 整数集合。11 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。a c语言程序仅可以编译...
02中考化学总复习中考化学冲刺卷专题复习原题
化学复习专题。专题一生活中的化学。问题 问题1 你有没有引燃蜂窝煤炉的经验?它一般要经过下列几个步骤 1 把炉子移到庭院中,在炉膛中按自下而上的顺序把引火材料和蜂窝煤球放好。2 点燃最底下的引火材料。3 等到火燃烧起来以后,再在炉子的上方加一个拔火筒。4 看到引火材料基本烧完,蜂窝煤球微微被烧红以后...