2.一元多项式相乘
来源:互联网 发布:淘宝如何提高售后评分 编辑:程序博客网 时间:2024/06/05 02:27
题目说明:
要求采用链表形式,求两个一元多项式的乘积:h3 = h1*h2。函数原型为:void multiplication( NODE * h1, NODE * h2, NODE * h3 )。
输入:
输入数据为两行,分别表示两个一元多项式。每个一元多项式以指数递增的顺序输入多项式各项的系数(整数)、指数(整数)。
例如:1+2x+x2表示为:<1,0>,<2,1>,<1,2>,
输出:
以指数递增的顺序输出乘积: <系数,指数>,<系数,指数>,<系数,指数>,
零多项式的输出格式为:<0,0>,
预设代码
前置代码
/* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */#include <stdio.h>#include <stdlib.h>typedef struct node{ int coef, exp; struct node *next;} NODE;void multiplication( NODE *, NODE * , NODE * );void input( NODE * );void output( NODE * );void input( NODE * head ){ int flag, sign, sum, x; char c; NODE * p = head; while ( (c=getchar()) !='\n' ) { if ( c == '<' ) { sum = 0; sign = 1; flag = 1; } else if ( c =='-' ) sign = -1; else if( c >='0'&& c <='9' ) { sum = sum*10 + c - '0'; } else if ( c == ',' ) { if ( flag == 1 ) { x = sign * sum; sum = 0; flag = 2; sign = 1; } } else if ( c == '>' ) { p->next = ( NODE * ) malloc( sizeof(NODE) ); p->next->coef = x; p->next->exp = sign * sum; p = p->next; p->next = NULL; flag = 0; } }}void output( NODE * head ){ while ( head->next != NULL ) { head = head->next; printf("<%d,%d>,", head->coef, head->exp ); } printf("\n");}int main(){ NODE * head1, * head2, * head3; head1 = ( NODE * ) malloc( sizeof(NODE) ); input( head1 ); head2 = ( NODE * ) malloc( sizeof(NODE) ); input( head2 ); head3 = ( NODE * ) malloc( sizeof(NODE) ); head3->next = NULL; multiplication( head1, head2, head3 ); output( head3 ); return 0;}/* PRESET CODE END - NEVER TOUCH CODE ABOVE */
测试用例1:
输入:
<1,0>,<2,1>,<1,2>,
<1,0>,<1,1>,
输出:
<1,0>,<3,1>,<3,2>,<1,3>,
测试用例2:
输入:
<0,0>,
<1,20>,<-8,40>,
输出:
<0,0>,
测试用例3:
输入:
<1,20>,<-8,40>,
<0,0>,
输出:
<0,0>,
测试用例4:
输入:
<-1,0>,<1,1>,
<1,0>,<1,1>,
输出:
<-1,0>,<1,2>,
测试用例5:
输入:
<5,0>,<10,1>,
<2,0>,<3,1>,<4,2>,<5,3>,
输出:
<10,0>,<35,1>,<50,2>,<65,3>,<50,4>,
附:还有指数为负数的情况这里就没有列了,那个好像是隐藏用例。
阅读全文
0 0
- 2.一元多项式相乘
- 一元多项式的相乘
- 一元多项式相乘
- 一元多项式相乘
- 一元多项式的相加、相乘
- [线性表]一元多项式相乘
- 数据结构——一元多项式相乘
- 【实验】一元多项式的相加与相乘
- 一元多项式相加与相乘(C++)
- 数据结构C语言版:一元多项式相乘
- 2.一元多项式相加
- 数据结构课程设计一元多项式的相加和相乘
- 两个一元多项式相乘,数组与链表实现
- 数据结构实验1(一元多项式的相加和相乘)
- 数据结构 一元多项式的创建、显示、相加、相减、相乘
- 一元多项式相乘 - 链表的简单应用
- 数据结构 P43 算法实现 两个一元多项式相乘
- 多项式相乘!
- 动态规划之-用局部最优和全局最优实现时间优化
- com.android.internal.R不存在
- PyTorch: Data Loading and Processing Tutorial 数据加载和处理教程
- Jhipster禁用noliquibase
- Java之基本数据类型(8种还是9种)-yellowcong
- 2.一元多项式相乘
- wget命令
- 格式化磁盘分区详解
- RHCS
- Cpp判断是否为局域网IP
- 股票学习前言
- Java
- 【树形dp】有线电视网
- Java程序员进阶学习,你知道多少?