浙工商oj ___飞龙的飞行方程

#include <bits/stdc++.h>

using namespace std;

#define L 2000;
int main(){
    int n,k=1,tag;
    tag=0;
    while(scanf("%d",&n)!=EOF){
        getchar();
        if(n==0){
            break;
        }
        tag=1;
        for(int i=0;i<n;i++){
            char str[2001]={0};
            int x[2]={0},y[2]={0},z[2]={0};
            gets(str);
            if(tag){
                cout<<"Case #"<<k++<<":"<<endl;
                tag=0;
            }
            for(int v=2;v<strlen(str);v+=6){
                    if(str[v]=='X'){
                        x[0]+=str[v-2]-'0';
                        x[1]=str[v+2]-'0';

                    }else if(str[v]=='Y'){
                        y[0]+=str[v-2]-'0';
                        y[1]=str[v+2]-'0';
                    }else if(str[v]=='Z'){
                        z[0]+=str[v-2]-'0';
                        z[1]=str[v+2]-'0';

                    }
            }
            //求导
            if(x[1]>0){
                x[0]*=x[1];
                x[1]--;
            }
            if(y[1]>0){
                y[0]*=y[1];
                y[1]--;
            }
            if(z[1]>0){
                z[0]*=z[1];
                z[1]--;
            }
            if(x[0]>0){
                if(x[1]>0){
                    cout<<x[0]<<" * X ^ "<<x[1];
                }else if(x[1]==0){
                    cout<<x[0];
                }
                if(y[0]>0){
                    cout<<" + ";
                }else {
                    if(z[0]>0){
                        cout<<" + ";
                    }
                }
            }
            if(y[0]>0){
                if(y[1]>0){
                    cout<<y[0]<<" * Y ^ "<<y[1];
                }else if(y[1]==0){
                    cout<<y[0];
                }
                if(z[0]>0){
                    cout<<" + ";
            }
        }
        if(z[0]>0){
            if(z[1]>0){
                cout<<z[0]<<" * Z ^ "<<z[1];
            }else if(z[1]==0){
                cout<<z[0];
            }
        }
        cout<<endl;



    }








}
return 0;
}
原文地址:https://www.cnblogs.com/resort-033/p/14476914.html