更多"使用VC++6.0打开考生文件夹下的源程序文件3.cpp,阅读下列程序"的相关试题:
[填空题]使用VC++6.0打开考生文件夹下的源程序文件3.cpp,阅读下列程序说明和代码,功能如下:
从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,把数据打印到屏幕,并释放内存。
其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。
(1)在父结点的Next中保存新插入的结点的指针,请在注释1后添加适当的语句。
(2)把pNext的子结点赋给pNext本身,请在注释2后添加适当的语句。
(3)判定p的子结点不为空,如果不为空,则打印p中的数据到屏幕,请在注释3后添加适当的语句。
(4)用t1保存动态申请内存结点的链表头,请在注释4后添加适当的语句。
注意:仅在函数指定位置添加语句,请勿改动主函数main与其他函数中的任何内容。
试题程序:
#include<iostream.h>
class TC
public:
TC(int data=0)
this—>data=data;
this—>next=NULL;
int data;
TC *next;
;
void Insert(TC *p,int data)
TC *temp=new TC(data);
TC *pParent=p;
TC *pNext=p—>next;
while(pNext)
if(data)pNext—>data)
//********1********
temp—>next=pNext;
return;
else
pParent=pNext;
//********2********
if(pNext==NULL)
pParent—>next=temp;
return;
void printf(TC *p)
//********3********
w
[简答题]使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数sum(int A[NUM][NUN],int n)的功能是计算矩阵中所有非质数数字的和。
提示:函数isPrime(int n)的功能是判定当前数字是否为质数,如果是则返回true。
注意:不能修改程序的其他部分,只能修改sum函数。
试题程序:
#include<iostream.h>
#include<cmath>
#define NUM 50
int A[NUM][NUM]=
1,3,5,7,9,
11,13,15,17,19,
21,23,25,27,29,
31,33,35,37,39,
41,43,45,47,49
;
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)<<end1;
return 0;
[简答题]使用VC6打开考生文件夹下的工程MyProj9。此工程包含一个源程序文件MyMain9.cpp。程序中定义了两个类Point和Circle,但类的定义并不完整。
请按要求完成下列操作,将类Sample的定义补充完成:
①类Circle是基类Point公有派生宋的。请在注释“//* *1* *”之后添加适当的语句。
②完成构造函数Circle(int a,int b,int c)的定义,采用初始化列表的方式使基类Point私有成员x、y分别初始化为a、b,类Circle的私有成员r初始化为c。请在注释“//* *2* *”之后添加适当的语句。
③完成类Circle的成员函数area( )的类体外的定义。函数area的功能是计算出此圆对象的面积,即PI*r*r。请在注释“//* *3* *”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件MyMain9.cpp清单如下:
//MyMain9.cpp
#include <iostream>
using namespace std;
#define PI 3.14
class Point
private:
int x, y;
public:
Point (int a, int b)
x=a;
y=b;
int getx ( )
return x;
int gety( )
return y;
;
//* *1* *
private:
int r;
public:
//* *2* *
int getr( )
retur
[简答题]使用VC6打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,补充空出的代码。函数sum(int n)返回1,2,3,…,n的和。其中n大于0。
程序要求使用递归实现上述功能。
注意:不能修改程序的其他部分,只能补充sum函数。
试题程序:
#include<iostream.h>
#include<cmath>
int sum(int n)
void main( )
cout<<"1+2+3+…+100="<<sum(100)<<end1;
return;
[简答题]使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。程序的功能是寻找1~500以内的亲和数并显示出来,函数amicableNum(int m,int n)判定两个数是否是亲和数。亲和数的定义为:两个数m和n,如果n的所有因子之和(因子除掉自身)等于m,且m的所有因子等于n,则m、n是互为亲和数。注意:不能修改程序的其他部分,只能补充amicableNum(int m,int n)函数。#include<iostream.h>int amicableNum(int n){int sum=0;for(int i=1;i<n;i++){if(n%i==0){sum+=i;}}return sum;}bool amicableNum(int m,int n){}void main( ){cout<<"1~500以内的亲和数有:"<<endl;for(int i=1;i<500;i++){for(int j=i+1;j<500;j++){if(i!=j){if(amicableNum(i,j)==1){cout<<i<<’ ’<<j<<endl;}}}}return;}
[简答题]使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码。
函数sort(int &m,int &n,int &l)实现将3个整数m,n,1由大到小输出。m最大,l最小。程序实现时,可以把最大的数放到m上,先将m与n进行比较,如果m<n,则将m与n的值进行交换,然后再用m与l进行比较,如果m<l,则将m与l的值进行交换,这样能使m最大,然后再将n与l进行比较,若n<l,则将n与l的值互换,互换后l最小。
将函数sort(int &m,int &n,int &l)补充完整,实现3个数的排序。
注意:请勿改动主函数。
试题程序:
#include<iostream.h>
vold sort(int &m,int &n,int &l)
int main( )
int x=9;
int y=13;
int z==3;
sort(x,u,z);
cout<<x<<’,’<<y<<’,’<<z<<end1;
return 0;
[简答题]使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码。
函数func(int d[],int n)的功能是将长度为num的数组d中的奇数扩大1倍,并存储到数组d中。
例如:2,15,6,-3,8,-11,9,24,50
返回4,30,12,-6,16,-22,18,48,100
将func(int d[],int num)函数补充完整。
注意:请勿改动主函数。
试题程序:
#include<iostream.h>
void func(int d[],int hum)
int main( )
int Data[]=2,15,6,-3,8,-11,9,24,50;
func(Data,9);
for(int i=0;i<sizeof(Data)/sizeof(int);i++)
cout<<Data[i]<<’’;
cout<<end1;
return 0;
[简答题]使用VC6打开考生文件夹下的工程proj1。此工程包含一个源程序文件mainl.cpp,但该程序运行有问题。请改正主函数中的错误,使程序的输出结果是:
member = 0
member = 5
member = 10
源程序文件 mainl.cpp 清单如下:
//mainl.cpp
#include <iostream>
using namespace std;
class MyClass
public:
MyClass(int i)
member=i;
void SetMember(int m)
member=m;
int GetMember( )const
return member;
void Print( ) const
cout<<"member="<<member<<end1;
private:
int member;
;
int main( )
/***************found***********/
MyClass obj1;
obj1. Print( );
MyClass obj2(3);
/***************found***********/
obj1.member = 5;
/***************found***********/
MyClass. SetMember(10);
obj1. Print( );
obj2. Print( );
return 0;
[简答题]使用VC++6.0打开考生文件夹下的源程序文件2.cpp。阅读下列函数说明和代码,实现函数sort(int A[],int n),用选择排序法将数组从大到小排序。
提示:选择排序法的思想是
(1)反复从还未排好序的那部分线性表中选出关键字最小的结点。
(2)按照从线性表中选出的顺序排列结点,重新组成线性表。
(3)直到未排序的那部分为空,使得重新形成的线性表是一个有序的线性表。
补充函数sort(int A[],int n),实现选择排序。
注意:请勿改动主函数。
试题程序:
#include<iostream.h>
#define N 10
void sort(int A[N],int n)
int main( )
int A[N]=-72,54,-6,7,18,102,0,4,-11,1;
sort(A,10);
for(int i=0;i<sizeof(A)/sizeof(int);i++)
cout<<A[i]<<’’;
cout<<end1;
return 0;
[简答题]使用VC6打开考生文件夹下的工程RevPrroj7。此工程包含一个源程序文件 RevMain7.cpp。在该文件中,函数fun( )的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII码值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如:若a中的字符串为aBCDeFgH,b中的字符串为ABcd,则c中的字符串为 aBcdeFgH。
请改正程序中的错误,使它能得到正确结果。
注意,不要改动主函数,不得删行或增行,也不得更改程序的结构。
源程序文件RevMain7.cpp中的程序清单如下:
//RevMain7.cpp
#include<iostream>
#include<string>
using namespace std;
void fun(char *p,char *q,char *c)
{
int k=1;
while(*p!=*q)
{
if(*p<*q)
c[k]=*q;
else
c[k]=*p;
if(*p)
p++;
if(*q)
q++;
}
}
int main( )
{
char a[10]="aBCDeFgH",b[10]="ABcd",c[80]={’/0’};
fun(a,b,c);
cout<<"The string a is "<<a<<’/n’;
cout<<"The string b is "<<b<<’/n’;
cout<<"The string c is "<<c<<endl;
return 0;
}