编写一个程序段计算两个二次多项式相乘供后面调用,哪位帮我看看问题出在哪里?

来源:百度知道 编辑:UC知道 时间:2024/06/08 19:50:10
已知a(x)和b(x),求c(x)。程序如下:
#include "stdio.h"
#include"math.h"
#define p 2
int a[10],b[10],c[20];
int f[10];

f[0]=2;f[1]=0;f[2]=1;f[3]=1;

void multiple(int a[],int b[], int c[], int l)
{
int i,j,k,s;
int c[100];

for(k=0;i<=(l-1)*(l-1);k++)

{
c[k]=0;

for(i=0;i<=k;i++)
{
c[k]=(p*p+c[k]+a[i]*b[k-i]%p;
}

}

for(s=0;s<=k;s++)
{
for(j=0;j<=((l-1)*(l-1)-s);j++)

{
c[j]=(p*p+c[j]-c[(l-1)*(l-1)-s]*f[j])%p;/****"s"*****/

}
}
}

void main()
{
a[0]=1;a[1]=1;a[2]=1;
b[0]=1;b[1]=1;b[2]=1;
c[0]=0;c[1]=0;c[2]=0;c[3]=0;c[4]=0;c[5]=0;

c=multiple(a,b,c,3)

}

错误1:void multiple(int a[],int b[], int c[], int l)此句中的第一个","是全角状态的.应改成半角的.
错误2:int f[10];
f[0]=2;f[1]=0;f[2]=1;f[3]=1; 这句应改成int f[10]={2,0,1,1};
错误3:int c[100];这句应去掉,重复定义了C,因为这个函数参数中有了c
错误4:c[k]=(p*p+c[k]+a[i]*b[k-i]%p;这一句竟然少了一个右括号.
错误5:c=multiple(a,b,c,3) 连分号都没有,应改为:multiple(a,b,c,3);
这些仅仅是语法方面的错误,功能上的还没分析.