编程实现求复数的n次方根、n次幂
答案:2 悬赏:50
解决时间 2021-11-28 23:30
- 提问者网友:单纯说谎家
- 2021-11-28 15:05
这是我们老师布置的题,要求在VC6.0中编译
最佳答案
- 二级知识专家网友:末路丶一枝花
- 2021-11-28 16:25
#include "math.h"
class complex{
float a;
float b;
float r;
float theta;
public:
complex();
complex(float,float);
void set(float, float);
complex root(float n);
complex power(float n);
}
complex::complex(){
a=b=r=theta=0;
}
complex::complex(float aa,float bb){
set(aa,bb);
}
void complex::set(float aa, float bb){
a=aa;
b=bb;
r=sqrt(a*a+b*b);
theta=atan(a/b);
}
complex complex::root(float n){
r=pow(r,1/n);
theta/=n;
a=r*cos(theta);
b=r*sin(theta);
}
complex complex::power(float n){
r=pow(r,n);
theta*=n;
a=r*cos(theta);
b=r*sin(theta);
}
void main(){
complex a(1,2),b;
b.set(3,4);
printf("%f\n",a.root(3));
printf("%f\n",b.power(5));
}
class complex{
float a;
float b;
float r;
float theta;
public:
complex();
complex(float,float);
void set(float, float);
complex root(float n);
complex power(float n);
}
complex::complex(){
a=b=r=theta=0;
}
complex::complex(float aa,float bb){
set(aa,bb);
}
void complex::set(float aa, float bb){
a=aa;
b=bb;
r=sqrt(a*a+b*b);
theta=atan(a/b);
}
complex complex::root(float n){
r=pow(r,1/n);
theta/=n;
a=r*cos(theta);
b=r*sin(theta);
}
complex complex::power(float n){
r=pow(r,n);
theta*=n;
a=r*cos(theta);
b=r*sin(theta);
}
void main(){
complex a(1,2),b;
b.set(3,4);
printf("%f\n",a.root(3));
printf("%f\n",b.power(5));
}
全部回答
- 1楼网友:桑稚给你看
- 2021-11-28 17:38
虽然我很聪明,但这么说真的难到我了
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯