pat甲級1002(c++)

1941 ワード

1002 A+B for Polynomials(25分)This time,you are supposed to find A+B where A and B are two polynomials.
Input Specification: Each input file contains one test case. Each case occupies 2 lines, and each line contains the information of a polynomial:
K N ​1 ​​ a ​N ​1 ​​ ​​ N ​2 ​​ a ​N ​2 ​​ ​​ … N ​K ​​ a ​N ​K ​​ ​​
where K is the number of nonzero terms in the polynomial, N ​i ​​ and a ​N ​i ​​ ​​ (i=1,2,⋯,K) are the exponents and coefficients, respectively. It is given that 1≤K≤10,0≤N ​K ​​ ​2 ​​ ​1 ​​ ≤1000.
Output Specification: For each test case you should output the sum of A and B in one line, with the same format as the input. Notice that there must be NO extra space at the end of each line. Please be accurate to 1 decimal place.
Sample Input: 2 1 2.4 0 3.2 2 2 1.5 1 0.5 Sample Output: 3 2 1.5 1 2.9 0 3.2
#include 
#include 

using namespace std;

    int main()
    {
        typedef struct
        {
            int expo;
            double coe;

        } number;

        //  a,b
        int ka,kb;
        number a[22],b[22];
        for(int q=0;q<22;q++)
         {
              a[q].expo=0;a[q].coe=0.0;
        b[q].expo=0;b[q].coe=0.0;
         }

        cin>>ka;
        for(int i=0; i>a[i].expo>>a[i].coe;
        cin>>kb;
        for(int t=0; t>b[t].expo>>b[t].coe;

        int m=0,n=0,r=0;
        number c[30];
        //a+b
        while(mb[n].expo)
            {
                c[r]=a[m];
                m++;
                r++;
            }

            else if(a[m].expo=ka)
            for(n;n=kb)
            for(m;m

1時間のバグを探して結果が間違って1位の小数を保留してあなたは心が詰まっていないと言って、、、