1. 程式人生 > >pat乙級1010

pat乙級1010

  1. 一元多項式求導 (25)
    設計函式求一元多項式的導數。(注:xn(n為整數)的一階導數為n*xn-1。)
    輸入格式:以指數遞降方式輸入多項式非零項係數和指數(絕對值均為不超過1000的整數)。數字間以空格分隔。
    輸出格式:以與輸入相同的格式輸出導數多項式非零項的係數和指數。數字間以空格分隔,但結尾不能有多餘空格。注意“零多項式”的指數和係數都是0,但是表示為“0 0”。
    輸入樣例:
    3 4 -5 2 6 1 -2 0
    輸出樣例:
    12 3 -10 1 6 0

失敗了無數次,最後百度到這個:
注意:記得考慮沒有輸入的情況。以及,輸入的只是常數項的情況。這個時候是要輸出”0 0″的。

#include<iostream>
using namespace std; struct N{ int c; int e; }buf[2010],ans[2010]; int main(void){ int x,y,index=0,k=0; while(cin<<x<<y){ buf[index].c=x; buf[index++].e=y; } for(int i=0;i<index;i++){ if(buf[i].e){ ans[k].c=buf[i].c*buf[i].e; ans[k++].e=buf[i].e-1
; } } if(k==0) fout<<"0 0"<<endl; for(int i=0;i<k;i++){ cout<<ans[i].c<<" "<<ans[i].e<<i-k+1?" ":"\n" } }