PAT_B_1010 一元多项式求导 (25 分)【测试点3通不过问题】

题目:设计函数求一元多项式的倒数。(注:x的n次方(n为整数)的一阶导数为n乘以x的n-1次方)

输入格式:

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

输出格式:

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

输入样例:

3 4 -5 2 6 1 -2 0

输出样例:

12 3 -10 1 6 0

#include<stdio.h>

int main()
{
   int xishu, chengfang,count=0;
      while (~scanf("%d %d",&xishu,&chengfang))      //测试点3总是出错的地方
      {
          if (chengfang == 0) break;
          if (count) printf(" ");
          count++;
          xishu *= chengfang;
          --chengfang;
          printf("%d %d", xishu, chengfang);
      }
      if(!count) printf("0 0");
    return 0;
}

之前采用的 数组 与 循环结构结合,跳出循环要求为chengfang输入为0,跳出后一并输出所有结果,忽略了没有常数项输入时无结果输出的情况。遂改为逐个计算并输出。

PS:不要忽略了  仅输入一个常数项时,对于 “0 0”的输出。

猜你喜欢

转载自blog.csdn.net/id33749110/article/details/85607605