1. 程式人生 > >PAT_B_1010 一元多項式求導 (25 分)【測試點3通不過問題】

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”的輸出。