我正在编写一个程序来计算数学方程式以找到年金。公式如图所示
A = M=[(1+r)^n-1/r(1+r)^n]
。
我正在使用的程序编译器是Devcpp它与我的其他程序一起工作,我找不到这个错误。它告诉我,公式中的参数太少了。
非常感谢任何帮助:)
代码是:
double M, r, n;
cout<<"M = ";
cin>>M;
cout<<"r = ";
cin>>r;
cout<<"n = ";
cin>>n;
cout<<endl;
cout<<"A = M=[(1+r)^n-1/r(1+r)^n]";
cout<<endl<<endl;
cout<<"A = ";
cout<<(M * ( pow ((( 1 + r ), n ) - 1 )/(r * ((pow(1 + r), n)))));
答案 0 :(得分:6)
cout<<(M * ( pow ((( 1 + r ), n ) - 1 )/(r * ((pow(1 + r), n)))));
您只向外部pow
调用传递了一个参数。第二个论点在哪里?
你为什么不干脆呢?为什么你让它变得如此难以理解,即使你无法正确阅读和理解它?如果你自己无法理解,别人怎么理解呢?
可能你想这样做:
double r1 = pow (1 + r,n-1 );
double r2 = pow (1 + r,n)
double A = M * r1/ (r * r2);
cout<< A;
基于我能理解的内容,我写了这篇文章。这是对的吗?如果您想要稍微不同的计算,请同样这样做。 但必须在简单步骤中执行此操作。这对你和那些阅读你代码的人都有好处。