1002. A+B for Polynomials (25)
2014-10-24 17:40
501 查看
1002. A+B for Polynomials (25)
1002. A+B for Polynomials (25)注意:系数为0时不输出,计数器也不自加1.
# include <stdio.h> typedef struct poly { int exp; float coe; }poly; int main() { poly a[500], b[500], c[500]; int m ,n, i, j; int cou=0; scanf("%d",&m); for(i = 0; i < m; i ++) { scanf("%d %f",&a[i].exp,&a[i].coe); } scanf("%d",&n); for(i = 0; i < n; i ++) { scanf("%d %f",&b[i].exp,&b[i].coe); } for(i=0,j=0; i<m && j<n;) { if(a[i].exp > b[j].exp) { c[cou ].exp = a[i].exp; c[cou ++].coe = a[i].coe; i ++; } else if(a[i].exp < b[j].exp) { c[cou ].exp = b[j].exp; c[cou ++].coe = b[j].coe; j ++; } else { if(a[i].coe+b[j].coe != 0) { c[cou ].exp = a[i].exp; c[cou ++].coe = a[i].coe+b[j].coe; i ++; j ++; } else { i ++; j ++; } } } if(i == m) { for( ; j < n;) { c[cou ].exp = b[j].exp; c[cou ++].coe = b[j].coe; j ++; } } else { for( ; i < m;) { c[cou ].exp = a[i].exp; c[cou ++].coe = a[i].coe; i ++; } } printf("%d",cou); for(i = 0; i < cou; i ++) { printf(" %d %.1f",c[i].exp,c[i].coe); } return 0; }
相关文章推荐
- PAT Advanced Level 1002. A+B for Polynomials (25)(Java)
- 1002. A+B for Polynomials (25)
- 1002. A+B for Polynomials (25)
- PAT A 1002. A+B for Polynomials (25)
- PAT 1002. A+B for Polynomials (25)
- 1002. A+B for Polynomials (25)
- [PAT]1002. A+B for Polynomials (25)
- 1002. A+B for Polynomials (25)
- 1002. A+B for Polynomials (25)
- PAT 1002. A+B for Polynomials (25)
- 1002. A+B for Polynomials (25)
- 1002. A+B for Polynomials (25)
- PAT甲级1002. A+B for Polynomials (25)
- PAT 1002. A+B for Polynomials (25)
- 1002. A+B for Polynomials (25)
- 1002. A+B for Polynomials (25)
- 【PAT甲级】1002. A+B for Polynomials (25)
- 1002. A+B for Polynomials (25)
- [PAT]1002. A+B for Polynomials (25)
- PAT 1002. A+B for Polynomials (25)