解题思路:


创建一个链表,用根节点储存储存所有节点数据的和,每次新增节点就将根节点与新增节点的数据相加

并且设立一个尾节点指针始终指向最后一个节点

由于题目简单,就不写函数了


注意事项:


不要忘了将next指针初始化为空

参考代码:

#include <stdio.h>
#include <stdlib.h>

typedef struct LNode
{
    int a;                      //实数部分
    int b;                      //虚数部分
    struct LNode *next;         //next指针
} LNode, *LinkList;             //结构体类型为LNode,指针类型为LinkList

int main()
{
    LinkList L, End;                //定义根节点L与尾指针End
    L = (LinkList)malloc(sizeof(LNode));    //为根节点分配空间
    L->a = 0;
    L->b = 0;
    L->next = NULL;                 //初始化根节点,next为空
    End = L;                        //End首先指向根节点
    for (int i = 0; i < 10; i++)
    {
        LinkList p = (LinkList)malloc(sizeof(LNode));
        scanf("%d %d", &p->a, &p->b);
        L->a += p->a;
        L->b += p->b;
        p->next = NULL;             //新增节点p初始化next为空
        End->next = p;              //尾指针next指向新增节点p
        End = p;                    //尾指针指向p
    }
    printf("%d+%di\n", L->a, L->b);     //输出
    return 0;
}


取巧方法,无链表,应题代码:

#include <stdio.h>

int main()
{
    int sum[2] = {0};
    int a, b;
    for (int i = 0; i < 10; i++)
    {
        scanf("%d %d", &a, &b);
        sum[0] += a;
        sum[1] += b;
    }
    printf("%d+%di\n", sum[0], sum[1]);
    return 0;
}


点赞(0)
 

0.0分

2 人评分

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论