#include<iostream>
using namespace std;
int main(){
int num1[1001];
int num2[1001];
int i=0,shut,j;
while(scanf("%d %d",&num1[i],&num2[i])!=EOF)
{
i++;
}
shut=num2[i-1];
if(i==1)
{
if(num2[0]==0)
{
cout<<"0 0"<<endl;
}
else
{
cout<<num1[0]*num2[0]<<" "<<num2[0]-1<<endl;
}
}
else
{
for(j=0;j<i-2;j++)
{
cout<<num1[j]*num2[j]<<" "<<num2[j]-1<<" ";
}
j=i-2;
if(shut==0)
{
cout<<num1[j]*num2[j]<<" "<<num2[j]-1;
}
else
{
cout<<num1[j]*num2[j]<<" "<<num2[j]-1<<" ";
}
j=j+1;
if(shut>0)
{
cout<<num1[j]*num2[j]<<" "<<num2[j]-1;
}
}
return 0;
}
写的很垃圾。。。
贴上一段别人写的代码
#include<iostream>
using namespace std;
int main()
{
int coef;
int expo;
cin>>coef>>expo;
if(expo==0)//如果指数为0,则求导后是0多项式
{
cout<<"0 0";
return 0;
}
else//注意第一次输出的格式 !
cout<<coef*expo<<' '<<expo-1;
while(cin>>coef>>expo)//输入直到文件末尾
if(expo!=0)//注意如果指数为0,不作输出!
cout<<' '<<coef*expo<<' '<<expo-1;//注意要先输出空格!
return 0;
}
注意第一次输出格式,从而避免在结尾出判断输出格式是否合法