请编写一个函数int sum(int n),该函数完成1+2+3+…+n的运算,并返回运算结果,其中n>0。注意:请使用递归算法实现该函数。
注意:部分源程序已存在文件:test11.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
文件test11_2.cpp的内容如下:
include<iostream.h>
int sum(int n)
{
}
void main()
{
int n;
cout<<"输入n:";
cin>>n;
int result;sum(n);
cout<<"结果为:"<<result<<endl;
}
第2题
以下程序的执行结果为【 】。
include<iostream>
using namespace std;
void overload(int num)
{
cout<<num<<end1;
}
void overload(char ch)
{
char c=ch+1;
cout<<c<<end1;
}
int main()
{
overload('X');
return 0;
}
第4题
表示雇员信息的CEmployee类与表示公司信息的Company类,但这两个类的定义并不完整。请按要求完成下列操作。
(1)定义Cemployee类的私有数据成员name(大小为50的字符数组)和pay(double型数据),分别用于记录雇员姓名和月薪。请在注释“//**1**”之后添加适当的语句。
(2)完成Company类默认构造函数的定义,该构造函数将n值赋值给私有成员nam,并完成指针emp所指的n个 Cemployee对象空间的申请,请在注释“//**2**”之后添加适当的语句。
(3)完成Company类成员函数voidCompany::add(血code,charname[50],doublepay)的定义,该函数将某一雇员的编号 code、姓名name及月薪pay输入到公司信息中。请在注释“//**3**”之后添加适当的语句。
(4)完成Company类成员函数voidCompany::print()的定义,使其以“_is paid_RMB for oue month”的格式输出公司内所有员工的月薪信息。请在注释“//**4**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件旭st10_3.cpp清单如下:
include<iostream.h>
include<string.h>
class CEmployee
{
public:
void putname(char n[50]){strcPY(name,n);)
void getname(char n[501){strcDY(n,name);)
void putpay(double d){pay=d;)
double getpay(){return pay;)
private:
//**1**
};
class Company
{
private:
CEmployee *emp;
int num;
public:
Company(int n);
void add(int COde,Char name[50],double pay);
void print();
}
Company::Company(int n)
{
//**2**
}
void Company::add(int code,Char name[50],double pay)
{
//**3**
}
void Company::print()
{
//**4**
for(int i=0;i<num;i++)
{
(emp+i)->getname(C);
money=(emp+i)->getpay();
cout<<C<<" is paid "<<money<<"
RMB for one month"<<endl;
}
}
void main()
{
Company com(2);
com.add(0,"Jack",200);
com.add(1,"Lee",300);
com.print();
}
第5题
的定义并不完
整。请按要求完成下列操作,将程序补充完整。
(1)完成类queue的无参数的构造函数的定义,要求把数据成员bl和el都初始化为0,同时输出queue initialized。请在注释“//**1**”之后添加适当的语句。
(2)完成类queue的成员函数qput(int j)的定义,它的功能是把新的元素加入队列,过程是先依据bl的值判断数组是否已经满了,如果是就输出queue is full,否则bl自加一,并且把参数j的值存入bl指向的数组元素中,请在注释“//**2**”之后添加适当的语句。
(3)完成类queue的成员函数qget()的定义,它的功能是把队列开头的元素提取出队列,并返回该值,过程是先比较el和bl的值判断队列是否已空,如果是就输出queue is empty,否则el自加一,并且把el指向的数组元素返回,请在注释“// **3**”之后添加适当的语句。
程序输出结果如下:
queue initialized
queue initialized
33 11
44 22
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件test26_3.cpp清单如下:
include<iostream.h>
class queue
{
int q[100];
int bl,el;
public:
queue( );
void qput(int j);
int qget( );
};
queue::queue( )
{
// **1**
}
void queue::qput(int j)
{
// **2**
{
cout<<"queue is full\n";
return;
}
bl++;
q[bl]=j;
}
int queue::qget( )
{
// **3**
{
cout<<"queue is empty\n";
return 0;
}
el++;
return q[el];
}
void main( )
{
queue aa,bb;
aa.qput(11);
bb.qput(22);
aa.qput(33);
bb.qput(44);
cout<<aa.qget()<<" "<<aa.qget()<<"\n";
cout<<bb.qget()<<" "<<bb.qget()<<"\n";
}
第6题
问题,请改正函数中的错误,使该程序的输出结果为;
100
源程序文件test27_1.cpp清单如下:
include <iostream.h>
template <class T>
class pair
{
T valuel, value2;
public:
pair (T first, T second)
{valuel=first; value2=second;}
/***************** found *****************/
char getmax ();
};
/***************** found *****************/
T pair<T>::getmax ()
{
T retval;
/***************** found *****************/
retval = valuel>value2?? value1 : value2;
return retval;
}
void main ()
{
pair <int> myobject (100, 75);
cout << myobject.getmax()<<end1;
}
第7题
对象中的。p成员所指向的对象,应使用表达式【 】。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!