出家人


私信TA

用户名:636861284

访问量:5837

签 名:

以生命之战而奋发向上!

等  级
排  名 983
经  验 3250
参赛次数 1
文章发表 16
年  龄 0
在职情况 在职
学  校
专  业

  自我简介:

TA的其他文章

解题思路:先创建头结点,再根据输入的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分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区