国家二级C++机试(操作题)模拟试卷308
基本操作题
1.使用VC6打开考生文件夹下的源程序文件modi1.cpp,但该程序运行时有错,请改正程序中的错误,使程序输出的结果为:
This is a greart!
Hello
Hello
注意:错误的语句在//********error********的下面,修改该语句即可。
#include
class CMyClass
{
public:
void displayl()
{
cout<<\\
(1)char str[6]=\\
解析:(1)\\
简单应用题
2.使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数sum(int A[NUM][NUM],int n)实现的功能是计算矩阵中所有非质数数字的和。
提示:函数isPrime(int n)的功能是判定当前数字是否为质数,如果是则返回true。
注意:不能修改程序的其他部分,只能修改sum()函数。
#include
#include
#define NUM 50
int A[NUM][NUM]=
{
{10,13,59,70,6},
{2,40,89,92,9},
{14,55,71,11,19},
{79,68,83,97,101},
{102,10001,23,45}
};
bool isPrime(int n)
{
if(n==1)
return false;
if(n==2)
return true;
for(int i=2;i<n/2;i++)
{
if(n%i==0)
return false;
}
return true;
}
int sum(int A[NUM][NUM],int n)
{
}
int main()
{
cout<<sum(A,5)<<endl;
return 0;
}
int re=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(!isPrime(A[i][j]))
//判断是否是素数,不是素数则累加
{
Ee=Ee+A[i][j];
}
}
}
return re;
解析:(1)矩阵A[NUM][NUM]是2维矩阵,SHIn函数的参数n给出了矩阵A的具体维数,因此矩阵A中共含有n×n个有效数。
(2)A[NUM][NUM]中元素可表示为A[i][j],其中i表示元素所在行数,i表示元素所在的列数,i、j分别从0到n.1范围内变化,因此设置内外两层循环可逐个遍历整个矩阵寻找非质数。
(3)函数isprime提供了判断质数的方法,对每个元素A[i][j],调用函数isprime(A[i][j]),判断函数的返刚值是否为假,如果为假说明不是质数,应该累加起来。
综合应用题
3.使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)定义私有数据成员year、month、day,分别用于年、月、日,它们都是int型的数据,请在注释//********1********后添加适当的语句。
(2)完成判断数据成员date2是否是闰年函数intDate::IsLeapYear0的定义,返回数据成员date2是否是闰年的值,是则返回1,否则返回0。请在注释//********2********后添加适当的语句。
(3)设置SetData0的默认时间为:2004-12-1,请在注释//********3********后添加适当的语句。
(4)完成主函数main(),完成输出date2 is aleapyear,请在注释//********4********后添加适当的语句。
提示:公元纪年的年数可以被四整除,即为闰年;被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。
注意:增加或修改代码的位置已经用符号表示出来。请不要修改其他的程序代码。
#include
using namespace std;
Class Date
{
public:
//********3********
void SetDate(int y,int
m,int n);
int IsLeapYear();
Void Print()
{cout<<year<<\\
(1)int year,month,day;
(2)将“return”补充完整为:returnfyear%400==0)||(year%4==0&&year%100!=0);
(3)将“void SetDate(int y,int m,int n);”补充完整为:void SetDate(int y=2004,int m=12,int n=1);
(4)将“cout<<\\
解析:(1)题目1要求“定义私有数据成员year、month、day,分别用于年、月、日,它们都是int型的数据”。在程序中的Date类中的priate区域添加数据成员year、month、day的定义即可,其中它们的类型根据题目要求定义为int型。即在第1个标识下添加“int year,month,day;”。
(2)题目2要求“完成判断数据成员date2是否是闰年函数int Date::IsLeapYear()的定义”。公元纪年的年数可以被100整除而不能被400整除为平年;被100整除也可被400整除的为闰年。用程序语言表达为“(year%400==0)‖(year%4==0&&year%100!=0)”,即在第2个标识补充的返回值语句为“return(year%400=0)‖(year%4==0&&year%100!=0);”。
(3)题目3要求“设置SetData0的默认时间为:2004-12-1”。程序中类Date的成员函数定义为“voidSetDate(int y,int m,int n);”,设置默认时间为:2004.12.1,就是设置SetDate函数中的变量值分别为2004,12,1。即成员函数的定义语句修改为“voidSetDate(int y=2004,int m=12,int n=1);”。
(4)题目4要求“完成主函数main(),完成输出date2 is a lea
本文档预览:3600字符,共3642字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载