我的CSDN第一篇博客:开启编程写作之路

一、自我介绍

大家好,我是一个计算机科学与技术专业的大一学生,目前就读于某普通二本,正在学习C语言,数据结构,平时喜欢记录学习笔记、排查各种代码bug。

一直想在CSDN分享自己的学习心得,今天终于迈出第一步,以后会持续更新学习笔记、报错解决、入门教程,和大家一起进步。

二、为什么写博客

  1. 记录学习过程,巩固知识点,避免学了就忘
  2. 分享自己的踩坑经验,帮助和我一样的新手少走弯路
  3. 结交更多技术爱好者,互相交流学习

三、后续更新计划

后续会更新这些内容:

  • C语言,数据结构算法笔记
  • 常见报错排查教程
  • 实用工具安装使用技巧
  • 项目实战小案例

四、写在最后

作为新手,文章难免有不足的地方,欢迎大家在评论区指正、交流。

如果文章对你有帮助,欢迎点赞、关注、收藏,我们一起从零开始,学好编程!
附:今天写了一个小时的代码,实现了一元多项式的加法运算:
#include<stdio.h>
#include<stdlib.h>

struct node
{
double xishu;
int zhishu;
struct node* next;
};
typedef struct node *ProToNode;
typedef ProToNode List;
typedef ProToNode Position;

List MakeEmpty();
void InsertAfter(List L, double xishu, int zhishu);
List Link(List L1, List L2);
void TraversaList(List L);

int main()
{
List L1 = MakeEmpty();
List L2 = MakeEmpty();
int x;
scanf(“%d”, &x);
double xishu;
int zhishu;
while(x–)
{
scanf(“%lf %d”, &xishu, &zhishu);
InsertAfter(L1, xishu, zhishu);
}
int y;
scanf(“%d”, &y);
while(y–)
{
scanf(“%lf %d”, &xishu, &zhishu);
InsertAfter(L2, xishu, zhishu);
}
List L = Link(L1, L2);
TraversaList(L);
return 0;
}

List MakeEmpty()
{
List L = malloc(sizeof(struct node));
L->next = NULL;
return L;
}
void InsertAfter(List L, double xishu, int zhishu)
{
Position p = malloc(sizeof(struct node));
p->xishu = xishu;
p->zhishu = zhishu;
p->next = NULL;
Position tail = L;
while(tail->next != NULL)
{
tail = tail->next;
}
tail->next = p;
}

List Link(List L1, List L2)
{
List L3 = malloc(sizeof(struct node));
L3->next = NULL;
Position p1 = L1->next;
Position p2 = L2->next;
Position p3 = L3;
while(p1 != NULL && p2 != NULL)
{
if(p1->zhishu > p2->zhishu)
{
p3->next = p1;
p3 = p1;
p1 = p1->next;
}
else if(p1->zhishu < p2->zhishu)
{
p3->next = p2;
p3 = p2;
p2 = p2->next;
}
else
{
double sum = p1->xishu + p2->xishu;
if(sum != 0)
{
p1->xishu = sum;
p3->next = p1;
p3 = p1;
}
p1 = p1->next;
p2 = p2->next;
}
}
while(p1 != NULL)
{
if(p1->xishu != 0)
{
p3->next = p1;
p3 = p1;
}
p1 = p1->next;
}
while(p2 != NULL)
{
if(p2->xishu != 0)
{
p3->next = p2;
p3 = p2;
}
p2 = p2->next;
}
return L3;
}
void TraversaList(List L)
{
Position p = L->next;
while(p != NULL)
{
printf(“%.2lf %d\n”, p->xishu, p->zhishu);
p = p->next;
}
}

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐