C语言题目~~

编写函数Normalize,将复数归一化,即若复数为a+bi,归一化结果为(a/根号下a^2+b^2)+(b/根号下a^2+b^2)i。使用结构体指针类型座位函数参数可能... 编写函数Normalize,将复数归一化,即若复数为a+bi,归一化结果为(a/根号下a^2+b^2)
+(b/根号下a^2+b^2)i。使用结构体指针类型座位函数参数可能是必要的。

谢谢各位了~~~
展开
 我来答
lyhdez1
2011-06-02 · TA获得超过1942个赞
知道小有建树答主
回答量:687
采纳率:100%
帮助的人:828万
展开全部
#include<stdio.h>
#include<math.h>
typedef struct fushu
{
float real;
float fail;
}ob;

void normalize(ob a)
{
double save=sqrt(a.real*a.real+a.fail*a.fail);
printf("归一化后的复数为:\n");
printf("%f+%fi\n",a.real/save,a.fail/save);
}
void main()
{
ob a;
printf("请输入一个复数(a+bi):\n");
printf("a=");
scanf("%f",&a.real);
printf("b=");
scanf("%f",&a.fail);
normalize(a);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
efanabe
2011-06-02 · TA获得超过2008个赞
知道小有建树答主
回答量:708
采纳率:0%
帮助的人:1109万
展开全部
/*****************************
我这个程序按照你的要求使用了结构体指针类型作为函数参数
*/

#include <stdio.h>
#include <math.h>
/*实数结构体*/
struct comp
{
double a; /*实部*/
double b; /*虚部*/
};

void Normalize(struct comp *p)
{
double c,d;
c=p->a/sqrt(p->a*p->a+p->b*p->b);
d=p->b/sqrt(p->a*p->a+p->b*p->b);
p->a=c;
p->b=d;
}

int main()
{
struct comp c,*p=&c;
c.a=9.3;
c.b=3.0;
Normalize(p);
printf("归一化结果为%lf + %lf i\n",c.a,c.b);
return 0;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
panweiy
2011-06-02 · TA获得超过1239个赞
知道大有可为答主
回答量:760
采纳率:0%
帮助的人:705万
展开全部
#include<stdio.h>
#include<math.h>
#include<string.h>
struct F
{
double a;
double b;
};
void PNT( F * s , F * g )
{
g->a = s->a*sqrt(s->a*s->a + s->b*s->b);
g->b = s->b*sqrt(s->a*s->a + s->b*s->b);
}

int main()
{
F e;
F g;
printf("a=? b = ? \n");
scanf("%lf%lf",&e.a,&e.b);
PNT(&e,&g);
printf("归一化结果为:\n");
printf("%lf + %lf i\n",g.a,g.b);
getchar();
getchar();
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maohuiabc
2011-06-02 · TA获得超过197个赞
知道小有建树答主
回答量:113
采纳率:0%
帮助的人:142万
展开全部
#include <math.h>
#include <stdio.h>
typedef struct
{
double real;
double img;

}Complex;
Complex Normalize(Complex a)
{
double x=a.img*a.img+a.real*a.real;
x=sqrt(x);
a.img /=x;
a.real /=x;
return a;
}
int main()
{
double y;
Complex x;
x.img=3;
x.real =4;
x=Normalize(x);
y=x.img*x.img+x.real*x.real;//y为1 用于验证
printf("x.real=%lf\nx.real=%lf\ny=%lf\n",x.real ,x.img ,y);

return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式