江 苏 科 技 大学 VC++实践报告 一、实践任务 任务一(第 2 题): 试建立一个类 SP,求 f(n,k)=1^k+2^k+3^k+…+n^K,另有辅助函数 power(m,n),用于求 m^n。 具体要求如下: (1) 私有成员数据:int n,k:存放公式中 n 和 k 得值。 (2) 公有成员函数: SP(int n1,int k1):构造函数,初始化成员数据 n 和 k。 int power(int m,int n):求 m^n。 int fun( ):求公式的累加和。 void show( ):输出求的结果。 (3) 在主程序中定义对象 s,对该类进行测试。 任务一分析 1、任务分析 通过 SP 的成员函数 power( )可求出 m^n 的值,再通过累加函数 fun(),可求出累加和。类的定义如下: #include class SP { int n,k; public: SP() int power() int fun() void show() }; 2、算法设计 求m^n:定义变量P=1,循环n 次,每次循环P 乘以m 求累加和:定义变量S=0,通过for 循环,将power()函数计算的结果累加。 3、系统测试 在主函数中用整数初始化 SP 的对象,并调用成员函数show()输出结果。主函数定义如下: void main() { SP a(2,3); a.power(2,3); a.fun(); a.show(); } 用以测试的数据为:n=2,k=3; 预期的输出结果为:当 n=2,k=3 时,f(n,k)=9 任务一程序 #include class SP { int n,k; public: SP(int n1,int k1) { n=n1;k=k1; } int power(int m,int n) { int p=1; for (int i=1;i<=n;i++) p*=m; return p; } int fun() { int s=0; for (int i=1;i<=n;i++) s+=power(i,k); return s; } void show() { cout<<"当 n="<