解题思路:先创建一个链表,然后把实部,虚部分别相加,在删除链表。
注意事项:记得用完链表要删除。
参考代码:
#include
#include
typedef struct node{
int real;
int unreal;
struct node *next;
}*Linklist,node;
void creat_link(Linklist head,int n);//创建链表
void Get_link(Linklist head);//将虚部,实部分别相加。
void delete_link(Linklist head);删除链表。
int main()
{
int n;
scanf("%d",&n);
Linklist head;//声明头节点.
head=(Linklist)malloc(sizeof(struct node));//申请空间。
creat_link(head,n);
Get_link(head);
delete_link(head);
}
void creat_link(Linklist head,int n){
Linklist p,r;
r=head;
for( int i=0;i<n;i++){
p=(Linklist)malloc(sizeof(struct node));
scanf("%d %d",&p->real,&p->unreal);
r->next=p;
r=p;
}
p->next=NULL;
}
void Get_link(Linklist head)
{
int sum_1=0,sum_2=0;
Linklist p,r;
p=head->next;
while(p){
sum_1+=p->real;
sum_2+=p->unreal;
r=p->next;
p=r;
}
printf("%d+%di",sum_1,sum_2);
}
void delete_link(Linklist head){
Linklist p,q;
p=head->next;
while(p){
q=p->next;
free(p);
p=q;
}
head->next=NULL;
}
0.0分
1 人评分