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;
}
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;
}
相关文章推荐
- 013_C语言结构体和类型别名的应用
- PAT乙级1051(C语言)-复数乘法 (15)
- C语言学习10:结构体,结构体应用,联合用法,枚举,fopen函数使用,fseek,ftell的作用和文件结束符EOF,数组和文件交换数据,个人信息管理。
- 第十六周:C语言:用结构体处理复数运算
- 第十六周—C语言 项目一(复数结构体)
- 复数乘法中的结构体赋值
- C语言中结构体在函数中的应用
- C语言中结构体与指针的若干问题(在数据结构中的应用)
- C语言 结构体的应用 查询结构体中的信息 结构体与指针操作
- C语言及程序设计进阶例程-13 结构体数组及其应用
- 复数矩阵乘法C语言实现
- C语言进阶-第15~16讲:结构体应用(学生成绩统计)
- C语言中结构体在函数中的应用
- 复数矩阵乘法C语言实现
- C语言----结构体及其应用
- C语言 枚举(enum)、宏定义(#define)、结构体(struct)的一种联合应用
- 【学习ios之路:C语言】结构体应用
- C语言结构体简单应用范例
- C语言中结构体在函数中的应用
- PAT Basic 1051. 复数乘法 (15)(C语言实现)