/*多项式相乘*/
/*本程序在输入多项式时候,先输入低次系数,在输入高次*/
/*write by elva6401*/
#include <stdio.h>
int main()
{
int m,n,*k;
int *a,*b,*c;
int i;
printf("Enter the number of m,n\n");
scanf("%d%d",&m,&n);
m++;
n++;
a=(int *)malloc(m*sizeof(int));
b=(int *)malloc(n*sizeof(int));
c=(int *)malloc((m+n-1)*sizeof(int));
printf("Enter the a\n");
for(i=0;i<m;i++)
scanf("%d",&a[i]);
printf("\nThe a is:\n");
for(i=0;i<m;i++)
{
if (i!=0) printf("+");
printf("%dx^%d",a[i],i);
}
printf("\nEnter the b\n");
for(i=0;i<n;i++)
scanf("%d",&b[n-i-1]);
printf("The b is:\n");
for(i=0;i<n;i++)
{
if (i!=0) printf("+");
printf("%dx^%d",b[i],i);
}
muity(a,m,b,n,c,k);
printf("\nThe c is:\n");
for(i=0;i<*k-1;i++)
{
if (i!=0) printf("+");
printf("%dx^%d",c[i],i);
}
getch();
}
int muity(int a[],int m,int b[],int n,int c[],int *k)
{
int i,j;
* k=m+n;
for(i=0;i<m+n-1;i++)
c[i]=0;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
c[i+j]=a[i]*b[j]+c[i+j];
}
/*本程序在输入多项式时候,先输入低次系数,在输入高次*/
/*write by elva6401*/
#include <stdio.h>
int main()
{
int m,n,*k;
int *a,*b,*c;
int i;
printf("Enter the number of m,n\n");
scanf("%d%d",&m,&n);
m++;
n++;
a=(int *)malloc(m*sizeof(int));
b=(int *)malloc(n*sizeof(int));
c=(int *)malloc((m+n-1)*sizeof(int));
printf("Enter the a\n");
for(i=0;i<m;i++)
scanf("%d",&a[i]);
printf("\nThe a is:\n");
for(i=0;i<m;i++)
{
if (i!=0) printf("+");
printf("%dx^%d",a[i],i);
}
printf("\nEnter the b\n");
for(i=0;i<n;i++)
scanf("%d",&b[n-i-1]);
printf("The b is:\n");
for(i=0;i<n;i++)
{
if (i!=0) printf("+");
printf("%dx^%d",b[i],i);
}
muity(a,m,b,n,c,k);
printf("\nThe c is:\n");
for(i=0;i<*k-1;i++)
{
if (i!=0) printf("+");
printf("%dx^%d",c[i],i);
}
getch();
}
int muity(int a[],int m,int b[],int n,int c[],int *k)
{
int i,j;
* k=m+n;
for(i=0;i<m+n-1;i++)
c[i]=0;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
c[i+j]=a[i]*b[j]+c[i+j];
}