题目类型
输入多项式,进行一系列运算后输出。
输入样式
第一行输入项数,第二行以(系数,指数)的方式输入数据。
4
(6,0)(2,1)(-8,70)(4,150)
输出样式
6+2X-8X^70+4^150
通用代码
注意看注释
/* 多项式的运算器 */
/* 使用手册在主函数中以注释方式给出,目前求导有问题,只能对一半 */
/* 本程序只针对pta平台的作业,如若需要其他用途,请自行修改 */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define OK 1
typedef struct Ploy{
/* data */
int num; //项数
int index; //指数
struct Ploy *next;
}PloyNode, *PloyLL;
typedef struct {
PloyLL ployLL;
PloyLL end; //也没用
int len; //没怎么用到,忽略它
}LLHead, *ListHead;
void Init(ListHead ployhead); //初始化空表,带头结点
int ListInsert(ListHead ployhead, PloyNode *data); //插入一项
int Print(ListHead ployhead); //输出结果
int Input(ListHead ployhead); //输入数据
int ReInput(ListHead ployhead); //反向输入, num变负
int Devt(ListHead ployhead); //求导
int Sum(ListHead ployhead); //求值
ListHead Mult(ListHead ployhead1, ListHead ployhead2); //乘法
int main(void) {
/* 建立与输出 */
/* ListHead elem = (ListHead)malloc(sizeof(LLHead)); 声明指针变量并申请内存空间
Init(elem); 初始化链表
Input(elem); 输入信息,参数为声明的指针变量
Print(elem); 输出信息,参数为声明的指针变量 */
/* 加法or减法 */
/* ListHead elem = (ListHead)malloc(sizeof(LLHead)); 声明指针变量并申请内存空间
Init(elem); 初始化链表
Input(elem); 输入信息,参数为声明的指针变量
选择其一:
减法调用:ReInput(elem);
加法再次调用:Input(elem);
Print(elem); 输出信息,参数为声明的指针变量 */
/* 乘法 */
/*
ListHead elem1 = (ListHead)malloc(sizeof(LLHead)); 声明指针变量并申请内存空间
ListHead elem2 = (ListHead)malloc(sizeof(LLHead)); 声明指针变量并申请内存空间
Init(elem1); 初始化链表1
Init(elem2); 初始化链表2
Input(elem1); 输入信息,参数为声明的指针变量
Input(elem2); 输入信息,参数为声明的指针变量
Print(Muit(elem1, elem2)); 输出信息,参数为Muit函数的返回值
*/
/* 求值 */
/* ListHead elem = (ListHead)malloc(sizeof(LLHead)); 声明指针变量并申请内存空间
Init(elem); 初始化链表
Input(elem); 输入信息,参数为声明的指针变量
Sum(elem); 求值
*/
/* 求导 */
/* ListHead elem = (ListHead)malloc(sizeof(LLHead)); 声明指针变量并申请内存空间
Init(elem); 初始化链表
Input(elem); 输入信息,参数为声明的指针变量
Devt(elem); 求导,参数为声明的指针变量
Print(elem); 输出信息,参数为声明的指针变量 */
return 0;
}
void Init(ListHead ployhead) {
ployhead->len = 0;
PloyNode *head_node = (PloyNode *)malloc(sizeof(PloyNode)

最低0.47元/天 解锁文章
170

被折叠的 条评论
为什么被折叠?



