请编写两个函数int sum_of_powers(int k,int n),powers(int m,int n),求1~6的k次方的和,sum_of_powers中参数k和n分别表示k次方和所求数列中最大的一个自然数,最后返回所求值,powers中参数m和n分别表示m为底数n为指数,最后返回所求值。要求使用for循环和函数嵌套(int sum_of_powers中调用powers)实现算法。输出结果如下:
sum of 4 powers of intergers from 1 to 6=2275
注意:部分源程序已存在文件test25_2.cpp中。
请勿修改主函数main和其他函数中的任何内容,仅在函数sum_of_powers和powers的花括号中填写若干语句。
文件test25_2.cpp的内容如下:
#include<iostream.h>
const int k(4);
const int n(6);
int sum_of_powers(int k,int n),powers(int m,int n);
void main()
cout<<"sum of "<<k<<" powers Of intergers from 1 to "<<n<<"=";
cout<<sum_of_powers(k,n)<<endl;
int sum_of_powers(int k,int n)
int powers(int m, int n)
参考答案:
(1)int sum_of_powers(int k,int n)
{
int sum(0);
for(int i=1;i<=n;i++)
sum+=powers(i,k);
return sum;
}
(2)
int powers(int m, int n)
{
int i,product(1);
for(i=1;i<=n;i++)
product*=m;
return product;
}
解析:本题考查的是考生使用for循环和函数嵌套解决一般问题的能力。注意最后将计算的值返回。