1010 一元多项式求导 (25 分)
设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
这道题没有想象中的那么难,就是简单的格式控制,以及乘法与减法运算。不过有几个坑点,如下:- 题目木有说明长度与限制,要用数组的话尽量开长一点(我记得1024都不够),记得用EOF来检测文件结束
- 题目加粗处说明了特殊情况,记得特判
- 老样子,题目与说明了输出格式,没事别瞎输出
最后贴一下代码:
1 /**
2 * @brief PAT_P1010
3 * @note IndexNumber处不要用--
4 * @author 杨文蓁的小迷弟
5 */
6 #include <stdio.h>
7 #include <stdlib.h>
8 #define MAX_SIZE 1024
9
10 int main()
11 {
12 int Basenumber, IndexNumber;
13 int FirstFlag = 0;
14
15 while (scanf("%d%d", &Basenumber, &IndexNumber) != EOF)
16 {
17 if (0 != IndexNumber)
18 {
19 printf("%s%d %d", 0 == FirstFlag ? "" : " ", Basenumber * IndexNumber, IndexNumber - 1);
20 FirstFlag = 1;
21 }
22 }
23 if (0 == FirstFlag)
24 {
25 printf("0 0");
26 }
27
28 return 0;
29 }
PAT不易,诸君共勉!