1010 一元多項式求導 (25)(25 分)通俗詳解
阿新 • • 發佈:2019-02-05
1010 一元多項式求導 (25)(25 分)
設計函式求一元多項式的導數。(注: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
分析:
本題難點在於對題目輸出格式的處理和隱藏條件的挖掘,以下先對此進行分析:
1.輸出格式處理
題目要求“數字間以空格分隔,但結尾不能有多餘空格
2.隱藏條件
通過仔細讀題,思考,你會發現題目並未要求結束條件,說明你需要在每次輸入完就輸出,而不是等全部輸入完了再輸出!而且你需要連續輸入直到檔案末尾,C++的輸入格式是while(cin>>a>>b),只有這樣,才滿足題目的要求!否則不可能通過!
本題需要注意的地方是:
“零多項式”的指數和係數都是0,但是表示為“0 0”這個條件的處理需要在第1次輸入的時候判定,如果輸入的係數和指數都為0,那麼按照要求輸出,並且及時退出程式!
程式碼:
#include<iostream> using namespace std; int main() { int index; int expo; cin>>expo>>index; if(index==0)//如果指數為0 { cout<<"0 0"; return 0; } else//注意第一次輸出的格式 ! cout<<index*expo<<' '<<index-1; while(cin>>expo>>index)//輸入直到檔案末尾 if(index!=0)//注意如果指數為0,不作輸出! cout<<' '<<index*expo<<' '<<index-1;//注意要先輸出空格! return 0; }