您的位置:首页 > 编程语言 > C语言/C++

《C语言及程序设计》实践参考——k次方之和

2015-04-23 22:09 302 查看
返回:贺老师课程教学链接 项目要求

【项目1-k次方之和】
设计程序,计算:



请在下面的程序结构基础上完成设计。

#include<stdio.h>
int power(int m,int n);	//求m的n次方(m^n)
int sum_of_power(int k,int n);	//从1^k到n^k的累加和
int main( )
{
    int k, n;
    scanf("%d %d", &k, &n);
    printf("f(%d, %d)=%d\n", k, n, sum_of_power(k,n));	//m^k的累加和
    return 0;
}
int power(int m,int n)	//求m的n次方(m^n)
{
...
}
int sum_of_power(int k,int m)	//从1^k到n^k的累加和
{
    //在这个函数中调用 power函数求幂
}
[参考解答]
#include<stdio.h>
int power(int m,int n);	//求m的n次方(m^n)
int sum_of_power(int k,int n);	//从1^k到n^k的累加和
int main( )
{
    int k, n;
    scanf("%d %d", &k, &n);
    printf("f(%d, %d)=%d\n", k, n, sum_of_power(k,n));	//m^k的累加和
    return 0;
}
int power(int m,int n)	//求m的n次方(m^n)
{
    int i,product=m;
    for(i=1; i<n; i++)
        product=product*m;
    return product;
}
int sum_of_power(int k,int m)	//从1^k到n^k的累加和
{
    int i,sum=0;
    for(i=1; i<=m; i++)
        sum+=power(i,k);
    return sum;
}
说明:在标准库math.h中,提供了一个求幂的pow。但是pow函数的原型是 double pow(double x, double y)。从本题目的要求上看,是要用int型的数据进行计算,直接调用标准函数不妥。可能会引入误差,至少,效率上也不能保证(double数据运算的“开销”要高于int型数据。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: