解题思路:先创建头结点,再根据输入的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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复