问答题

请编写一个函数inline long sum(int n),用递归函数完成运算:sum(n)=1*1+2*2+…n*n,递归表达式为 sum(n)=sum(n-1)+n2。
注意:部分源程序已存在文件test10_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum的花括号中填写若干语句。
文件test10_2.cpp的内容如下:
#include<iostream.h>
inline long sum(int n)


void main()

int n;
cout<<"输入n:";
cin>>n;
cout<<"结果为:"<<sum(n)<<endl;

【参考答案】

inline long sum(int n)
{
if(n==1)
return 1;......

(↓↓↓ 点击下方‘点击查看答案’看完整答案、解析 ↓↓↓)
热门 试题

问答题
使用VC6打开考生文件夹下的工程test10_3,此工程包含一个源程序文件test10_3.cpp,其中定义了用于表示雇员信息的CEmployee类与表示公司信息的Company类,但这两个类的定义并不完整。请按要求完成下列操作。 (1)定义Cemployee类的私有数据成员name(大小为50的字符数组)和pay(double型数据),分别用于记录雇员姓名和月薪。请在注释“ **1**”之后添加适当的语句。 (2)完成Company类默认构造函数的定义,该构造函数将n值赋值给私有成员nam,并完成指针emp所指的n个 Cemployee对象空间的申请,请在注释“ **2**”之后添加适当的语句。 (3)完成Company类成员函数void Company::add(int code,charname[50],doublepay)的定义,该函数将某一雇员的编号 code、姓名name及月薪pay输入到公司信息中。请在注释“ **3**”之后添加适当的语句。 (4)完成Company类成员函数void Company::print()的定义,使其以“_is paid_RMB for oue month”的格式输出公司内所有员工的月薪信息。请在注释“ **4**”之后添加适当的语句。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件test10_3.cpp清单如下: #include<iostream.h> #include<string.h> class CEmployee public: void putname(char n[50])strcpy(name,n);) void getname(char n[501)strcpy(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();