PAT——甲級1002 多項式相加(陣列)
阿新 • • 發佈:2019-01-02
#include<cstdio> #include<algorithm> using namespace std; int main() { double a[1010]={}; int i,j,p; double k; int m,n; int count=0; scanf("%d",&m); for(i=0;i<m;i++) { scanf("%d %lf",&p,&k); a[p]=k; } scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d %lf",&p,&k); a[p]+=k; } for(i=0;i<=1000;i++) { if(a[i]!=0) count++; } printf("%d",count); for(i=1000;i>=0;i--) { if(a[i]!=0) printf(" %d %.1f",i,a[i]); } return 0; }
一開始做複雜了,用了三個陣列,其實一個就夠了,而且相加的時候要注意變數的範圍,1000也要加上
還有double的問題,不論是float還是double輸出都是%f