多项式的积
http://pat.zju.edu.cn/contests/pat-a-practise/1009
1、理解该形式下,多项式积的定义
2、数据格式,浮点输入输出
3、使用数组先清空,谨慎
#include <stdio.h>
#include <string.h>
int main()
{
int k,i,j,c; //多项式的项,不超过10项,c,e暂存输入的指数与系数
double e;
double exp1[1001]; //保存指数相应系数,最多1000个指数,浮点
double exp2[1001];
double ans[2001]; //保存最终结果,每项的系数,1000次*1000次=2000次方
memset(exp1,0,sizeof(exp1));
memset(exp2,0,sizeof(exp2));
memset(ans,0,sizeof(ans));
scanf("%d",&k);
for (i=0;i<k;i++) //输入第一个多项式
{
scanf("%d%lf",&c,&e);
exp1[c]=e;
}
scanf("%d",&k);
for (i=0;i<k;i++) //输入第二个多项式
{
scanf("%d%lf",&c,&e);
exp2[c]=e;
}
for (i=0;i<=1000;i++)
{
for (j=0;j<=1000;j++)
{
ans[i+j]+=exp1[i]*exp2[j];
}
}
int x=0;
for (i=0;i<=2000;i++)
{
if (ans[i])
{
x++;
}
}
printf("%d",x);
for (i=2000;i>=0;i--)
{
if (ans[i])
{
printf(" %d %.1lf",i,ans[i]);
}
}
printf("\n");
return 0;
}