资源简介
本案例实现了一下功能
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个文件信息
相关资源
- 数据结构课件ppt全
- 数据结构与程序设计-PDF原版-高清英文
- 数据结构第四版朱站立
- huffman编码
- 厦门大学-数据结构-期末考试试题
- 西安电子科技大学计算机学院数据结
- ACM模板大全
- 蓝桥杯官网练习题和测评数据-入门训
- 景区信息管理系统和停车场
- 数据结构-advanced data structure (peter
- 数据结构数组稀疏矩阵及广义表、递
- 数据结构课程设计——算数表达式求
- 数据结构课程设计--学生成绩管理系统
- 邓俊辉 数据结构 source code
- 数据结构及应用算法教程修订版课件
- 数据结构严蔚敏版学习笔记
- 高级数据结构PPT 英文版
- 数据结构知识点总结全面版
- 数据结构复试/夏令营面试常问问题
- 浙江大学数据结构课程(陈越)____数
- 五邑大学数据结构实验
- 南京师范大学数据结构和数据库系统
- 数据结构课程设计 哈希表 c语音代码
- SSD5:数据结构
- 数据结构 第三章 栈与队列 数据结构
- 浙江师范大学_数据结构与算法_习题集
- 数据结构学生选课课程设计
- 火车、飞机票务管理系统数据结构
- 两个火车票务管理系统数据结构
- 数据结构课程设计——统计学生成绩
评论
共有 条评论