zuoye
#include<stdio.h>
#include<stdlib.h>
typedef struct fushu
{
int xubu;
int shibu;
struct fushu *next;
}fushu_node,*fushu;
int MUL(fushu *A,fushu B,fushu C)
{
fushu D;
D.shibu=B.shibu*C.shibu-B.xubu*C.xubu;
D.xubu=B.shibu*C.xubu+B.xubu*C.shibu;
return D;
}
int ADD(fushu *A,fushu B,fushu C)
{
fushu D;
D.shibu=B.shibu+C.shibu;
D.xubu=B.xubu+C.xubu;
return D;
}
int SUB(fushu *A,fushu B,fushu C)
{
fushu D;
D.shibu=B.shibu-C.shibu;
D.xubu=B.xubu-C.xubu;
return D;
}
int DIV(fushu *A,fushu B,fushu C)
{
fushu D;
D.shibu=B.shibu*C.shibu+B.xubu*C.xubu;
D.xubu=B.xubu*C.shibu-B.shibu*C.xubu;
return D;
}
int main()
{
int i,j=1,k,m,n,w,LEN;
fushu *L,*p,*q;
fushu D;
L=(fushu)malloc(sizeof(fushu_node));
L->next=NULL;
q=L;
printf("enter the number of complexnumber:");
scanf("%d",&LEN);
for(i=0;i<LEN;i++)
{
p=(fushu)malloc(sizeof(fushu_node));
printf("enter the realpart of number%d ",j);
scanf("%d",&(p->shibu));
printf("enter the imagepart of number%d ",j);
scanf("%d",&(p->xubu));
p->next=NULL;
q->next=p;
q=p;
j++;
}
printf("请输入要操作的第一个数的位置:");
scanf("%d",&k);
q=L;
p=L;
for(m=0;m<k;m++)
{
q=q->next;
}
printf("请输入要操作第二个数的位置:");
scanf("%d",&n);
for(m=0;m<n;m++)
{
p=p->next;
}
printf("请输入数字进行如下操作"):
printf("1.ADD");
printf("2.SUB");
printf("3.MUL");
printf("4.DIV");
printf("0.EXIT");
scanf("%d",&w);
if(w==1)
{
D.shibu=p->shibu+q->shibu;
D.xubu=p->xubu+q->xubu;
return D;
}
if(w==2)
{
D.shibu=p->shibu-q->shibu;
D.xubu=p->xubu-q->xubu;
return D;
}
if(w==3)
{
D.shibu=p->shibu*q->shibu-p->xubu*q->xubu;
D.xubu=p->shibu*q->xubu+p->xubu*q->shibu;
return D;
}
if(w==4)
{
D.shibu=p->shibu*q->shibu+p->xubu*q->xubu;
D.xubu=p->xubu*q->shibu-p->shibu*q->xubu;
return D;
}
return 0;
}
4
浙公网安备 33010602011771号