pat乙1010 一元多项式求导


#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;
	}

注意第一次输出格式,从而避免在结尾出判断输出格式是否合法

发布了22 篇原创文章 · 获赞 0 · 访问量 267

猜你喜欢

转载自blog.csdn.net/chang_sheng1/article/details/104057107