题意: 输入 系数 指数
输出 系数*指数 指数减一 0时不做任何处理
思路:设两个数组 s【】存系数 z【】存指数
书上思路: 枚举 注意!!不知道几个 用EOF判断结束
#include <cstdio>
int main(){
int a[10010]={0};
int k,e,count=0;//系数 指数 不为零的导数项个数
while(scanf("%d %d",&k,&e)!=EOF){
a[e]=k;
}
a[0]=0;//零次项求导后直接为零。
for(int i=1;i<=1000;i++){
a[i-1]=a[i]*i;//每一项枚举求导
a[i]=0;//原来的舍去
if(a[i-1]!=0) count++;
}
if(count==0) printf("0 0");//特殊情况判断
else{
for(int i=1000;i>=0;i--){//指数从高到低输出
if(a[i]!=0){
printf("%d %d",a[i],i);
count--;
if(count!=0) printf(" ");
}
}
}
return 0;
}