P1010 一元多项式求导

混江龙づ霸主 提交于 2019-12-01 08:32:21
1010 一元多项式求导 (25 分)
 
设计函数求一元多项式的导数。(注:xn​​n为整数)的一阶导数为nxn1​​。)

输入格式:

以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。

输出格式:

以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0

输入样例:

  3 4 -5 2 6 1 -2 0

输出样例:

  12 3 -10 1 6 0

  这道题没有想象中的那么难,就是简单的格式控制,以及乘法与减法运算。不过有几个坑点,如下:
  1.   题目木有说明长度与限制,要用数组的话尽量开长一点(我记得1024都不够),记得用EOF来检测文件结束
  2.   题目加粗处说明了特殊情况,记得特判
  3.   老样子,题目与说明了输出格式,没事别瞎输出
  由于过于简单,思路就简述一下啊。我没用数组存储,直接在线读入。边读入边处理。一次读两个数x,y ,将x*y后输出,再输出y-1,至于特殊情况,我用了一个标志位来控制。
 
最后贴一下代码:
  
 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不易,诸君共勉!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!