pat 甲级1009.Product of Polynomials (25)(c 语言实现)
2018-03-23 19:37
429 查看
#include<stdio.h> #include<stdlib.h> #define MAXN 1005 typedef struct m { int k; float kn; }num; int cmp(const void*a,const void*b) { num s1=*(num*)a; num s2=*(num*)b; return s2.k-s1.k; } main() { int n,m,z; num a[MAXN],b[MAXN],c[MAXN]; scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d %f",&a[i].k,&a[i].kn); } scanf("%d",&m); for(int i=0;i<m;i++) { scanf("%d %f",&b[i].k,&b[i].kn); } int count=0,flag,l=0; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { flag =0; for(z=0;z<count;z++) { if((a[i].k+b[j].k)==c[z].k) {c[z].kn+=a[i].kn*b[j].kn; if(c[z].kn==0.0){//测试点1wa 忘了可能系数为0,补救一下 c[z].k=-1; //纯粹不想用数组重写 l++; } flag=1;} } if(!flag) { c[count].k=a[i].k+b[j].k; c[count].kn=a[i].kn*b[j].kn; count++; } } } qsort(c,count,sizeof(num),cmp); printf("%d",count-l); for(int i=0;i<count;i++) { if(c[i].k>=0) printf(" %d %.1f",c[i].k,c[i].kn); } }
相关文章推荐
- PAT甲级 1009.Product of Polynomials(25) 题目翻译与答案
- PAT甲级.1009. Product of Polynomials (25)
- PAT甲级真题及训练集(3)--1002. A+B for Polynomials (25)
- PAT甲级-1002. A+B for Polynomials (25)
- PAT 甲级1002 A+B for Polynomials (25)
- 【PAT甲级】1009. Product of Polynomials (25)
- 1002. A+B for Polynomials (25) PAT 甲级
- PAT甲级1002. A+B for Polynomials (25)
- PAT TEST 甲级1009. Product of Polynomials (25)
- pat 甲级 1009. Product of Polynomials (25)
- [PAT甲级]1002. A+B for Polynomials (25)(求两个多项式的和)
- 【PAT甲级】1002. A+B for Polynomials (25)
- pat甲级1009. Product of Polynomials (25)
- 【PAT甲级】1006 Sign In and Sign Out(25)——JAVA实现
- PAT甲级 1002. A+B for Polynomials (25)
- PAT甲级1009. Product of Polynomials (25)
- [PAT-甲级]1009.Product of Polynomials
- PAT - 甲级 - 1002. A+B for Polynomials (25)(模拟)
- 【PAT甲级】1002. A+B for Polynomials (25)
- PAT甲级1009. Product of Polynomials (25)