用c语言链表编写便利店零售系统,链表实现多项式求和(C语言)
链表实现多项式求和(C语言)0
aebgt2013.06.26浏览270次分享举报
1 多项式求和中两个链表合并问题,请各位大侠帮忙啊
#include
#include
typedef struct node
{
float coef;
int exp;
struct node *next;
}link,*linklist;
linklist creatployn ()
{
linklist head,temp,now;
temp=now=(linklist)malloc(sizeof(link));
printf("请输入该项系数和指数:\n");
scanf("%f,%d",&temp->coef,&temp->exp);
temp->next=NULL;
if (temp->coef==0.0||temp->exp<0)
{
head=NULL;
free(now);
}
else head=now;
while (temp->coef!=0.0&&temp->exp>=0)//
{
now->next=temp;
now=temp;
temp=(linklist)malloc(sizeof(link));
printf("请输入该项系数和指数:\n");
scanf("%f,%d",&temp->coef,&temp->exp);
}
free(temp);
now->next=NULL;
return(head);
}
void printployn(linklist head)
{
linklist p=head;
int n=1;
printf("该表达式为:\n");
if(p==NULL)
return;
while(p!=NULL)
{
if(n==1) {printf("%fX^%d",p->coef,p->exp); n++;}
else printf("+%fX^%d",p->coef,p->exp);
p=p->next;
}
}
int compare(int x,int y) //比较两个多项式的指数
{
if(x
else if(x=y) return 0;
else return 1;
}
linklist addployn(linklist la,linklist lb) //两个多项式的合并(此处在la表上与lb表对应元素作比较,做出响应的添加删除操作,最后返回la)
{
linklist head,temp=(linklist)malloc(sizeof(link)),qa=la,qb=lb,tempa,tempb;
head=temp;
temp->next=NULL;
int a,b;
while(qa&&qb)
{
a=qa->exp; b=qb->exp;
switch (compare(a,b))
{
case -1:
temp->next=qa; temp=qa; qa=qa->next;break;//将la表的结点作为当前结点,并将la指向la表当前结点的下一结点
case 0: //合并指数相同的项
qa->coef+=qb->coef; //系数相加
if(qa->coef!=0) //系数不为零,将la表的结点作为当前结点,并释放lb表结点,再分别让qa,qb指向各自的下一结点
{
temp->next=qa;//
temp=qa;
qa=qa->next;
}
else //系数为零将当前la,lb表重的结点释放,并指向各自的下一点
{
tempa=qa;
qa=qa->next;
free(tempa);
}
tempb=qb; qb=qb->next; free(tempb);
break;
case 1:
temp->next=qb; temp=qb; qb=qb->next; //将lb表结点插入la表作为当前结点,并使qb指向下一结点
break;
}
}
if(qa) temp->next=qa;
else temp->next=qb;
tempa=head;
head=head->next;
free(tempa);
return(head);
}
void main()
{
linklist LA=creatployn();
printployn(LA);
linklist LB=creatployn();
printployn(LB);
linklist LC=addployn(LA,LB);
printployn(LC);
}
基本思路是按指数从小到大输入系数和指数,到0,0结束该多项式输入。求和部分,不引入新表,而在原来的a表上将b表元素进行插入和删除的操作。
我对链表操作概念很不清楚。在求和函数中的temp必须要给他申请空间么?我最初就把temp设成普通指针变量,通过移动他的位置来指向当前结点,但是好像链表一点都没链起来。麻烦哪位好心人能帮我详细解释一下这个链接的过程啊:)不胜感激啊!
讲的详细我追加分数!关于链表的问题已经困扰我很久了。期待高人点拨迷津~~~
用c语言链表编写便利店零售系统,链表实现多项式求和(C语言)相关推荐
- c语言 用计数控制的循环实现正数累加求和,C语言循环结构程序设计实验五
福建农林大学实验报告 系(教研室):信息与机电工程系专业:机械设计制造及其自动化年级:2010 实验课程:C语言程序设计姓名:学号:实验室号: 计算机号:实验时间:2012.11.5 指导教师签字:成 ...
- 【原创】python语言实现半自动排班系统
python语言实现半自动排班系统 这里写目录标题 python语言实现半自动排班系统 0. 为什么要做这个软件? 1. 本软件要实现哪些功能? 2. 具体功能实现 2.1 识别文本中的格式不一的时间 ...
- 考试自动评分系统C语言改错,基于XML结构的C语言考试的自动评分系统.doc
基于XML结构的C语言考试的自动评分系统 摘 要:在C程序设计语言考试中为了解决定位难.一题多解和对于主观题没有统一的评价标准的情况,对考试系统中客观题和程序题的评分方法进行了研究.在比较结果的评分基 ...
- c语言中如何设计和编写一个应用系统?
C程序中,如何设计和编写一个应用系统? 一. C语言文件的操作 1. 文件操作的基本方法: C语言将计算机的输入输出设备都看作是文件.例如,键盘文件.屏幕文件等. 向屏幕输出一个信息,例如" ...
- C语言编程>第十一周 ② N名学生的成绩已在主函数中放入一个带头结点的链表结构中,a指向链表的头结点。请编写函数fun,它的功能是:找出学生的最高分,由函数返回。
例题:N名学生的成绩已在主函数中放入一个带头结点的链表结构中,a指向链表的头结点.请编写函数fun,它的功能是:找出学生的最高分,由函数返回. 请勿改动主函数main与其它函数中的任何内容,仅在函数f ...
- C语言编程题—N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。例如,若学生的成绩是:85,76,69,85,91,
C语言编程题 设计程序,N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点.请编写函数fun,它的功能是:求出平均分,由函数值返回.例如,若学生的成绩是:85,76,69,85 ...
- c语言ktv点歌系统链表,C语言链表实现歌手评分系统
本文实例为大家分享了C语言链表实现歌手评分系统的具体代码,供大家参考,具体内容如下 此程序可以添加文件操作用于保存歌手得分等信息,此程序实现了链表的增删查和链表冒泡排序交换节点功能 #include ...
- 猴子选王c语言链表程序代码,数据结构(C语言)用栈和链表编写猴子选大王程序...
<数据结构(C语言)用栈和链表编写猴子选大王程序>由会员分享,可在线阅读,更多相关<数据结构(C语言)用栈和链表编写猴子选大王程序(3页珍藏版)>请在人人文库网上搜索. 1.i ...
- 用C语言链表编写学生成绩管理系统
本代码供读者学习使用,请不要随意转载. 一.设计题目:学生成绩管理系统 二.目的与要求 每位学生记录包含有学号.姓名.性别.出生日期.三门功课的成绩(高等数学.大学英语.C语言).总分和平均分 系统菜 ...
最新文章
- 【转】测试LibreOffice SDK 开发环境配置(Windows)
- Spring4整合Hibernate4出现的错误的解决
- GoldenGate 配置extract,replicat进程自启动
- JavaScript基本概念(下)
- 信息学奥赛一本通(1319:【例6.1】排队接水)
- pytorch使用早停策略
- Keras中的两种模型:Sequential和Model
- 一套C#图书管理系统源码 书籍借还登记统计系统源码
- CodeMeter:软件加密的“木桶定律”
- 要重复多少次变成潜意识_一种行为,多次重复后就能进入人的潜意识
- Unity3D中如何制作身临其境的3d音效
- 中国经济八问-中国视角下的宏观经济
- 《Spring Cloud微服务架构实战派》PDF样章
- java毕业设计奥利给共享自习室系统(附源码、数据库)
- 基于scrapy下的租房信息爬取与数据展示工具的设计与实现
- STM32的引脚的配置
- 鸿蒙os第四次培训(菜单 页面跳转)
- 给你一个App,你将如何测试?
- 浅谈穿越机飞控如何烧写固件及其相关设置问题
- [半监督学习] Virtual Adversarial Training: A Regularization Method for Supervised and SSL