• 大小: 2.18MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-09
  • 语言: 其他
  • 标签: 数据结构  

资源简介

本案例实现了一下功能 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\link.command.1.tlog
     文件        2644  2017-02-27 18:42  新建文件夹\KCSJ\Debug\KCSJ.tlog\link.read.1.tlog
     文件         316  2017-02-27 18:42  新建文件夹\KCSJ\Debug\KCSJ.tlog\link.write.1.tlog
     文件       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个文件信息

评论

共有 条评论