PAT乙类1010之1010 一元多项式求导
生活随笔
收集整理的這篇文章主要介紹了
PAT乙类1010之1010 一元多项式求导
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、題目
設計函數求一元多項式的導數。(注:X?n(n為整數)的一階導數為nXn?1。)輸入格式: 以指數遞降方式輸入多項式非零項系數和指數(絕對值均為不超過 1000 的整數)。數字間以空格分隔。輸出格式: 以與輸入相同的格式輸出導數多項式非零項的系數和指數。數字間以空格分隔,但結尾不能有多余空格。注意“零多項式”的指數和系數都是 0,但是表示為 0 0。輸入樣例: 3 4 -5 2 6 1 -2 0 輸出樣例: 12 3 -10 1 6 0二、代碼
方法一、存入數組再處理法
- 核心函數
1)如果數中 包含負數(包含負號和整數兩個字符)、空格、換行,用char數組存儲,如果遇到換行符后結束輸入,是不行的;因為這樣負數沒辦法轉化!!所以要換種思路!!
2)由于它在輸入的時候第一個是整數,第二個是字符,所以我們每次輸入時候第一個用整形數組賦值,第二個用char賦值;判斷char是不是換行符來結束輸入!!!
-
分析
(1)輸入的數據每兩個為一組,所以是i+=2,之后進行處理就行;
int a = int_num[i] * int_num[i+1];
int b = int_num[i+1] - 1;
但是當a為零了,要將數組個數減2
(2)要特殊處理零特征多項式, 就是常數。 只要b等于零, 就直接輸出"0 0" -
易錯點
方法二、不存入直接處理法
- 核心函數
while(cin>>a>>b)見后面附錄
- 分析
關于C++中while(cin>>a)
cin是輸入操作符,cin>>a的過程是先取得從鍵盤的輸入值a,并將a賦給cin,因此while(cin>>a)的意思就是只要輸入的值有效,那么就執行while體內的語句。
實例設計如下:
1、統計輸入連續數字的個數,while循環結束 (跳出流對象)的時候,打印最后一個數 。通過檢測其流的狀態來判斷結束;
(1)若流是有效的,即流未遇到錯誤,那么檢測成功。
(2)若遇到文件結束符,或遇到一個無效的輸入時(例如本題輸入的值不是一個整數),istream對象的狀態會變為無效,條件就為假。
總結
以上是生活随笔為你收集整理的PAT乙类1010之1010 一元多项式求导的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pthread_create函数阻塞了主
- 下一篇: 项目经理有必要学python吗_项目经理