没有合适的资源?快使用搜索试试~ 我知道了~
数据结构 多项式的加减乘法
5星 · 超过95%的资源 需积分: 10 21 下载量 124 浏览量
2008-12-15
15:27:48
上传
评论
收藏 14KB TXT 举报
温馨提示
试读
15页
数据结构课程设计,多项式的加减乘,c语言实现
资源推荐
资源详情
资源评论
// 多项式的运算.cpp : 定义控制台应用程序的入口点。
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define TRUE 1
#define FALSE 0
#define POSITIVE 1
#define NEGATIVE -1
typedef int status;
typedef struct NodeType
{
float fCoeff;
int iExpon;
struct NodeType *next;
} NodeType, *LinkType;
typedef LinkType polynomial;
typedef polynomial *PolyPointer;
status MakePolyBuff(PolyPointer *, const int);
status MakeNode(polynomial *, const float, const int);
void AppNodeToList(polynomial *, polynomial); /* 在链表尾追加结点*/
status CreatePolyn(PolyPointer, int);
status ProcStrError(const char[]); /* 检查输入的数据*/
void SortPolyn(PolyPointer, int); /* 根据iExpon域对链表进行升序排序*/
void DestroyBuff(PolyPointer, const int);
void DestroyPolyn(polynomial);
int PolynLength(const polynomial); /* 求链表的长度*/
void AddProcess(PolyPointer, const int, PolyPointer, const int);
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
#define TRUE 1
#define FALSE 0
#define POSITIVE 1
#define NEGATIVE -1
typedef int status;
typedef struct NodeType
{
float fCoeff;
int iExpon;
struct NodeType *next;
} NodeType, *LinkType;
typedef LinkType polynomial;
typedef polynomial *PolyPointer;
status MakePolyBuff(PolyPointer *, const int);
status MakeNode(polynomial *, const float, const int);
void AppNodeToList(polynomial *, polynomial); /* 在链表尾追加结点*/
status CreatePolyn(PolyPointer, int);
status ProcStrError(const char[]); /* 检查输入的数据*/
void SortPolyn(PolyPointer, int); /* 根据iExpon域对链表进行升序排序*/
void DestroyBuff(PolyPointer, const int);
void DestroyPolyn(polynomial);
int PolynLength(const polynomial); /* 求链表的长度*/
void AddProcess(PolyPointer, const int, PolyPointer, const int);
void SubstractProcess(PolyPointer, const int, PolyPointer);
void MultiplyProcess(PolyPointer, const int, PolyPointer);
void PrintPolyn(const polynomial);
void MergePolynCoeff(PolyPointer, int); /* 在有序链表中,合并同类项*/
int main(void)
{
int iCounter,
iPolyNum; /* 多项式链表缓冲区中链表的个数*/
PolyPointer PolyBuff = NULL; /* 用户输入的多项式链表缓冲区*/
polynomial PolyAddRes = NULL, /* 存放连加结果链表*/
PolySubRes = NULL, /* 存放连减结果链表*/
PolyMulRes = NULL; /* 存放连乘结果链表*/
char strNum[10];
do
{
printf("请输入需要构造多项式的个数,至少2个: ");
gets(strNum);
iPolyNum = atoi(strNum);
} while (iPolyNum < 2);
MakePolyBuff(&PolyBuff, iPolyNum);
CreatePolyn(PolyBuff, iPolyNum);
SortPolyn(PolyBuff, iPolyNum);
MergePolynCoeff(PolyBuff, iPolyNum);
printf("\n打印用户输入并整合后的多项式:\n");
for (iCounter = 0; iCounter < iPolyNum; iCounter++)
{
printf("第%d个项式:\n", iCounter + 1);
void MultiplyProcess(PolyPointer, const int, PolyPointer);
void PrintPolyn(const polynomial);
void MergePolynCoeff(PolyPointer, int); /* 在有序链表中,合并同类项*/
int main(void)
{
int iCounter,
iPolyNum; /* 多项式链表缓冲区中链表的个数*/
PolyPointer PolyBuff = NULL; /* 用户输入的多项式链表缓冲区*/
polynomial PolyAddRes = NULL, /* 存放连加结果链表*/
PolySubRes = NULL, /* 存放连减结果链表*/
PolyMulRes = NULL; /* 存放连乘结果链表*/
char strNum[10];
do
{
printf("请输入需要构造多项式的个数,至少2个: ");
gets(strNum);
iPolyNum = atoi(strNum);
} while (iPolyNum < 2);
MakePolyBuff(&PolyBuff, iPolyNum);
CreatePolyn(PolyBuff, iPolyNum);
SortPolyn(PolyBuff, iPolyNum);
MergePolynCoeff(PolyBuff, iPolyNum);
printf("\n打印用户输入并整合后的多项式:\n");
for (iCounter = 0; iCounter < iPolyNum; iCounter++)
{
printf("第%d个项式:\n", iCounter + 1);
剩余14页未读,继续阅读
资源评论
- Ray_Chiu2012-09-21资源很实用,不过是用C编写的
abcd512
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功