回 帖 发 新 帖 刷新版面

主题:麻烦大家帮忙编个程序

[size=6][size=5][size=4][size=3] 用递归的方法编程计算以下式子的值:n1+ n2+ n3+ n4…….n10   其中n=1,2,3
这是我们的作业题,想了很久,编出来的程序总有错误,希望大家帮我编给正确的,谢谢了!![/size][/size][/size][/size]

回复列表 (共6个回复)

沙发

把你编的程序贴出来大家帮你参考

板凳

[size=3][size=6][/size][size=5][/size][size=4][/size][size=3]#include <iostream>
using namespace std;
double power(double n,int i)
{
int v=1;
while (i--)
v*=n;
return v;
}
void main()
{
    double n;
    int i;
    int sum;
    for(n=1;n<=3;n++)
    {
        for(i=1;i<=10;i++)
        {
            sum+=double(power(n,i));
        }
        cout<<sum<<endl;
    }
}
[color=800000]运行结果是:
-858993450
-858991404
-858902832
首先我这个程序还没有做到把当N=1、2、3时的结果加起来(我不知道怎么办)
其次是很明显当N=1、2、3时的结果运行出来是错的,呵呵~
麻烦大家帮我改一下![/size][/size][/color]

3 楼

#include <iostream>
using namespace std;
double power(double n,int i)
{
    double v=1.0;
    while (i--)
        v*=n;
    return v;
}
void main()
{
    double n;
    int i;
    for(n=1;n<=3;n++)
    {
        double sum = 0.0;
        for(i=1;i<=10;i++)
        {
            sum+=double(power(n,i));
        }
        cout<<sum<<endl;
    }
}

4 楼

[size=3][color=800000]我编出来了,谢谢大家的帮忙,嘻嘻[/color]
#include <iostream>
using namespace std;
int Getpower(int n,int i)
{
    if(i==1)
        return n;
    else 
        return (n*Getpower(n,i-1));
}
void main()
{
    int n;
    int i;
    int s=0;
    int sum = 0;
    for(n=1;n<=3;n++)
    {
        for(i=1;i<=10;i++)
        {
            sum+=Getpower(n,i);
        }
        cout<<sum<<endl;
        s+=sum;
    }
    cout<<s<<endl;
}[/size]

5 楼

注意不要做无谓的类型转换,尤其是把高精度变量赋给低精度类型

6 楼

我感觉你要是去耶稣的话他很快就会给你答案

我来回复

您尚未登录,请登录后再回复。点此登录或注册