首页 > 学院 > 开发设计 > 正文

PAT甲级1002 A + B

2019-11-08 02:33:01
字体:
来源:转载
供稿:网友

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

欢迎大家提出改进的建议。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表