资源简介
本案例实现了一下功能
1)首先判定多项式是否稀疏
2)分别采用顺序和动态存储结构实现;
3)结果M(x)中无重复阶项和无零系数项;
4)要求输出结果的升幂和降幂两种排列情况

代码片段和文件信息
// KCSJ.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include
#include
#include
//稀疏,指数
struct data {
int xishu;
int zhishu;
};
struct node {
data dat;
node *next;
};
//
int cmp(const void *a const void *b)
{
return ((data*)a)->zhishu - ((data*)b)->zhishu;
}
void output(node *head)
{
node *p;
node *shengxu;
shengxu = new node;
shengxu->next = NULL;
printf(“升序排列\n“);
p = head->next;
while (p)
{
if (p->dat.xishu<0)
printf(“\b“);
if (p->dat.xishu != 0)
{
if (p->dat.xishu == 1)
printf(“X^%d+“ p->dat.zhishu);
else if (p->dat.xishu == -1)
printf(“-X^%d+“ p->dat.zhishu);
else
printf(“%dX^%d+“ p->dat.xishu p->dat.zhishu);
}
node *q;
q = new node;
q->dat.zhishu = p->dat.zhishu;
q->dat.xishu = p->dat.xishu;
q->next = shengxu->next;
shengxu->next = q;
p = p->next;
}
printf(“\b \n“);
printf(“降序排列\n“);
p = shengxu->next;
while (p)
{
if (p->dat.xishu<0)
printf(“\b“);
if (p->dat.xishu != 0)
{
if (p->dat.xishu == 1)
printf(“X^%d+“ p->dat.zhishu);
else if (p->dat.xishu == -1)
printf(“-X^%d+“ p->dat.zhishu);
else
printf(“%dX^%d+“ p->dat.xishu p->dat.zhishu);
}
p = p->next;
}
printf(“\b \n“);
}
//
int main()
{
int sum1 sum2;
data *d1 *d2;
int zhishu_max1 = -1 zhishu_max2 = -1;
int i j;
int *biaodashi1 *biaodashi2;
node *he *cha;
node *head1 *head2 *tail1 *tail2;
head1 = (node *)malloc(sizeof(node));
head2 = (node *)malloc(sizeof(node));
head1->next = NULL;
head2->next = NULL;
tail1 = head1;
tail2 = head2;
//输入第一个表达式
printf(“请输入第一个多项式的项数:“);
scanf(“%d“ &sum1);
d1 = (data*)malloc(sum1 * sizeof(data));
printf(“请依次输入每项多项式的系数和指数:\n“);
for (i = 0; i {
scanf(“%d%d“ &d1[i].xishu &d1[i].zhishu);
}
//输入第二个表达式
printf(“请输入第二个多项式的项数:“);
scanf(“%d“ &sum2);
d2 = (data*)malloc(sum2 * sizeof(data));
printf(“请依次输入每项多项式的系数和指数:\n“);
for (i = 0; i {
scanf(“%d%d“ &d2[i].xishu &d2[i].zhishu);
}
//排序
qsort(d1 sum1 sizeof(data) cmp);
qsort(d2 sum2 sizeof(data) cmp);
zhishu_max1 = d1[sum1 - 1].zhishu;
zhishu_max2 = d2[sum2 - 1].zhishu;
for (i = 0; i<30; i++)
printf(“==“);
printf(“\n“);
//输出第一个表达式
printf(“第一个表达式为:\n“);
for (i = 0; i {
if (d1[i].xishu != 0)
{
if (d1[i].xishu == 1)
printf(“X^%d“ d1[i].zhishu);
else if (d1[i].xishu == -1)
printf(“-X^%d“ d1[i].zhishu);
else
printf(“%dX^%d“ d1[i].xishu d1[i].zhishu);
}
if (i printf(“+“);
}
printf(“\n“);
//判断是否稀疏
if (zhishu_max1 - d1[0].zhishu > (sum1 * sizeof(node)))
{
printf(“第一个表达式稀疏\n\n“);
for (i = 0; i {
node *p;
p = (node*)malloc(sizeof(node));
p->dat.zhishu =
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2017-02-27 20:17 新建文件夹\
目录 0 2017-02-27 20:17 新建文件夹\Debug\
文件 45568 2017-02-27 18:42 新建文件夹\Debug\KCSJ.exe
文件 351584 2017-02-27 18:42 新建文件夹\Debug\KCSJ.ilk
文件 765952 2017-02-27 18:42 新建文件夹\Debug\KCSJ.pdb
目录 0 2017-02-27 20:17 新建文件夹\ipch\
目录 0 2017-02-20 19:28 新建文件夹\ipch\KCSJ-c442b12c\
文件 3538944 2017-02-20 19:28 新建文件夹\ipch\KCSJ-c442b12c\KCSJ-27931937.ipch
目录 0 2017-02-27 20:17 新建文件夹\KCSJ\
文件 1294 2017-02-20 19:28 新建文件夹\KCSJ.sln
文件 2514944 2017-02-27 20:16 新建文件夹\KCSJ.VC.db
目录 0 2017-02-27 20:17 新建文件夹\KCSJ\Debug\
文件 1607 2017-02-27 18:42 新建文件夹\KCSJ\Debug\KCSJ.log
文件 24006 2017-02-27 18:42 新建文件夹\KCSJ\Debug\KCSJ.obj
文件 3342336 2017-02-20 19:40 新建文件夹\KCSJ\Debug\KCSJ.pch
目录 0 2017-02-27 20:17 新建文件夹\KCSJ\Debug\KCSJ.tlog\
文件 1222 2017-02-27 18:42 新建文件夹\KCSJ\Debug\KCSJ.tlog\CL.command.1.tlog
文件 5846 2017-02-27 18:42 新建文件夹\KCSJ\Debug\KCSJ.tlog\CL.read.1.tlog
文件 610 2017-02-27 18:42 新建文件夹\KCSJ\Debug\KCSJ.tlog\CL.write.1.tlog
文件 179 2017-02-27 18:42 新建文件夹\KCSJ\Debug\KCSJ.tlog\KCSJ.lastbuildstate
文件 1040 2017-02-27 18:42 新建文件夹\KCSJ\Debug\KCSJ.tlog\li
文件 2644 2017-02-27 18:42 新建文件夹\KCSJ\Debug\KCSJ.tlog\li
文件 316 2017-02-27 18:42 新建文件夹\KCSJ\Debug\KCSJ.tlog\li
文件 11579 2017-02-20 19:40 新建文件夹\KCSJ\Debug\stdafx.obj
文件 134144 2017-02-27 18:42 新建文件夹\KCSJ\Debug\vc140.idb
文件 151552 2017-02-27 18:42 新建文件夹\KCSJ\Debug\vc140.pdb
文件 7694 2017-02-27 18:42 新建文件夹\KCSJ\KCSJ.cpp
文件 7898 2017-02-20 19:28 新建文件夹\KCSJ\KCSJ.vcxproj
文件 1311 2017-02-20 19:28 新建文件夹\KCSJ\KCSJ.vcxproj.filters
文件 1489 2017-02-20 19:28 新建文件夹\KCSJ\ReadMe.txt
文件 208 2017-02-20 19:28 新建文件夹\KCSJ\stdafx.cpp
............此处省略2个文件信息
相关资源
- 数据结构年终考题范围和答案 耿国华
- 数据结构 朱战力 习题解答 数据结构
- 数据结构课程设计 6 1 彩票系统
- 教学计划编制系统
- 大数(链表、数组)实现
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- 航空订票系统_数据结构课程设计
- 多项式求和(数据结构C 版)
- 尚观培训linux董亮老师关于数据结构的
- 数据结构 知识点总结
- 华南理工大学数据结构复习提纲二
- 华南理工大学数据结构复习提纲一
- 数据结构用C 写的停车场系统源代码
- 数据结构(河北科技大学)
- 数据结构考前习题 清华大学出版社
- 数据结构课件(北邮)
- 数据结构实验 基于栈的表达式求值
- 数据结构课程设计——图书管理系统
- 成绩管理系统(数据结构)
- 数据结构-最小通信网问题
- 数据结构课程设计同学通讯录系统
- 数据结构课程设计 公园导游图
- 数据结构殷人昆版的课后答案
- 2006年湖北工业大学409数据结构试题
- 数据结构实验-魔王语言-源码加实验报
- 简单计算器的实现(数据结构)
- 简单计算器的实现(数据结构 修正版
- Fundamentals of Data Structure in C
- 北京邮电大学数据结构历年考研真题
评论
共有 条评论