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