1、江苏省计算机二级 VC+上机真题 2012年秋及答案解析(总分:40.00,做题时间:120 分钟)1.改错题(20 分) 【题目】 以下程序的功能是:将一个整数转换成相应的字符串,例如,将整数 1024转换成字符串”1024”,将负整数-512 转换成字符串”-512” 正确程序的输入/输出结果如下(下划线部分为键盘输入) 请输入一个整数:123 123 请输入一个负整数:-123 -123 含有错误的源程序如下: #include #include #define N 20; char *itoa(int x, char s) /将整数 x转换为字符串形式,结果存入数组 s中 int i=
2、0,j=0; char c,tmp; if(xx; coutx; coutitoa(x,s)_正确答案:( #define N 20; 修改为#define N 20/ s0=”0”; 修改为 s0=0; c=x%10; 修改为 c=x%10+0; si+1=/0; 修改为 si=/0;)解析:2.编程题(20 分) 【题目】 试定义一个类 Array,实现由一个数组派生出另一个数组,派生规则如下:新数组的元素取值为原数组中相同位置元素的左、右两个相邻元素前后拼接后形成的整数(左邻元素在前,右临元素在后)。规定最左(右)列元素的左(右)临元素为该元素所在行的最右(左)侧的元素,具体要求如下:
3、(1)私有数据成员 int a34:原数组 int b34:派生数组 (2)公有成员函数 Array(int t4,int n):构造函数,利用参数 t的前 n行元素初始化数据成员 a int nn(int t1,int t2):返回 t1、t2 拼接后形成的整数(t1 在前,t2 在后) void fun() :按题意生成新数组,并将结果存放到数据成员 b中 void print():按矩阵形式输出成员数组 (3)在主函数中对该类进行测试 输出示例: 原数组: 41 67 34 0 69 24 78 58 62 64 5 45 派生数组 67 4134 670 3441 5824 6978 2458 7869 4564 625 6445 562 【要求】 源程序文件名必须为 myfb.cpp,并放在 T盘根目录下,供阅卷用(分数:20.00)_正确答案:(#include #include class Array int a34,b34; public: Array(int t4,int n) for(int i=0;i3?0:d; bij=nn(aiu,aid); void print() cout“原有数组“aij/t; cout“派生数组“bij/t; ; void main() int t34; for(int i=0;i解析: