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

c语言解复数的乘法,应用结构体

2012-04-18 00:53 288 查看
#include<stdio.h>

struct str

{
int a;
int b;

}s[21];

int main()

{
int n, x, y, i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d%d",&s[i].a,&s[i].b);

x=s[0].a;
y=s[0].b; 

for(i=1;i<n;i++)
{
x=(s[i-1].a*s[i].a-s[i-1].b*s[i].b);
y=(s[i-1].a*s[i].b+s[i-1].b*s[i].a);
s[i].a=x;
s[i].b=y;
}

if(x==0&&y)
{
if(y==1)
printf("i\n");
   else if(y==-1)
printf("-i\n");
else
printf("%di\n",y);
}
else if(x&&y)
{
if(y==1)
printf("%d+i\n",x);
else if(y==-1)
printf("%d-i\n",x);
else
{
if(y>0)
       printf("%d+%di\n",x,y);
if(y<0)
printf("%d%di\n",x,y);
}

}
else if(x&&y==0)
   printf("%d\n",x);
else if(x==0&&y==0)
printf("0\n");
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  语言 c ini