分析:求导过程不再赘述。要注意的是,如果全部都是零多项式,最后要输出"0 0"
#include <iostream>
#include <cstdio>
using namespace std;
typedef struct Part{
int _ratio;
int _index;
void derivation(){
_ratio = _ratio * _index;
_index -= 1;
}
}Part;
int main()
{
Part parts[128];
int i=0;
while(cin>>parts[i]._ratio>>parts[i]._index){
char ch = getchar();
parts[i++].derivation();//求导,更新系数和指数
if(ch == '\n')
break;
}
int time=0;
for(int j=0; j<i; j++){
if(parts[j]._ratio!=0){//如果系数为零,则为零多项式,不予输出
cout<<(time!=0?" ":"")<<parts[j]._ratio<<" "<<parts[j]._index;
time++;
}
}
if(!time){//如果全部是零多项式,输出"0 0"
cout<<"0 0\n";
}
return 0;
}