解题思路:先创建头结点,再根据输入的n来创建for循环来建立链表,同时输入复数的两个值

注意事项:只要熟悉链表指向一些基础就行

参考代码:

#include<stdio.h>
#include<stdlib.h>
typedef struct str
{
    int a;              //实数
    int b;             //虚数
    struct str *next;
}str;
int main()
{
    int n,sum1=0,sum2=0;     //sum1为实数和,sum2为虚数和
    str *head,*pm;   
    scanf("%d",&n);
    head=(str*)malloc(sizeof(str));        //创建头结点
    if(head==NULL)        //如果创建失败,则结束当前程序
    exit(0);
    str *t=head;    //将头结点付给t,方便循环创建链表
    for(int i=0;i<n;i++)
    {
        pm=(str*)malloc(sizeof(str));        //创建一个结点
        if(pm==NULL)        //与上面解释相同
        exit(0);
        scanf("%d%d",&pm->a,&pm->b);    //如题输入a,b
        pm->next=NULL;    //新结点加到链表末尾
        t->next=pm;    //与结点建立联系
        t=pm;    
        pm=pm->next;    //循环创建链表重要步骤
    }
    str *t1=head->next;
    for(int j=0;j<n;j++)
    {
        sum1+=t1->a;
        sum2+=t1->b;
        t1=t1->next;    
    }
    printf("%d+%di\n",sum1,sum2);
    return 0;
}

点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论