PAT甲级1002
这个问题讲的就是多项式加起来,根据题意设置一个数组把系数存储起来就好了,最后输出。 Talk is cheap, show me the code.
//包含头文件#include <iostream>#include <cstdio>//需要保留小数点后一位,可以用%.1f,暂时还不会c++的标准输出#define MAXK 1001 //在数组中使用using namespace std;int main(void){ float aK[MAXK] = { 0, };//系数数组,自带指数 int iN = 0;//需要输入的数目 int ix = 0; float ia = 0;//指数和系数 //第一波攻击 cin >> iN; for (int i = 0; i < iN; ++i) { cin >> ix >> ia; aK[ix] += ia; }//end of for (int i = 0; i < iN; ++i) //第二波攻击 cin >> iN; for (int i = 0; i < iN; ++i) { cin >> ix >> ia; aK[ix] += ia; }//end of for (int i = 0; i < iN; ++i) //输入完毕,开始输出蛤 //先计算它的有效数吧 int iCount = 0; for (int i = 0; i < MAXK; ++i) { if (aK[i] != 0) { ++iCount; }//end of if (aK[i] > 0) }//end of for (int i = MAXK - 1; i >= 0; --i) cout << iCount;//输出有效数 //按照题意从高到低输出 for (int i = MAXK - 1; i >= 0 && iCount > 0; --i) { if (aK[i] != 0) { PRintf(" %d %.1f", i, aK[i]); --iCount; }//end of if (aK[i] > 0) }//end of for (int i = MAXK - 1; i >= 0; --i) cout << endl; return 0;}欢迎大家提出改进的建议。
新闻热点
疑难解答