#include <stdio.h>
#include "math.h"
int L1,L2;
int k[10],a[20],b[20],c[20];
int e;
void add(int p1,int k1){
for(int i=0;i<=k1;i++){
c[i]=c[i]+b[i];
if(c[i]=2){
c[i]=0;
}
}
}
void z(int p2,int k2){
int q;
while(c[0]=0){
if(p2>(L2-k2-1)){
for(int i=0;i<k2;i++){
printf("%d",c[i]);}
break;}
for(int i=0;i<k2;i++){
c[i]=c[i+1];
q=i;
}
if(p2<=(L2-k2-1)){
c[q+1]=a[p2+k2];
p2++;
}
}
}
void main(){
int f=0,e,t=0;
int p=0,p3;
printf("请输入多项式的项的个数");
scanf("%d",&L1);
printf("请输入多项式各项的指数");
for(int i=0;i<L1;i++){
scanf("%d",&k[i]);
f=pow(10,k[i]);
t=t+f;
}printf("%d",t);
printf("请输入比特串的位数");
scanf("%d",&e);
e=e-1;
printf("请输入上面输出的比特串");
for(i=0;i<=e;i++){
scanf("%d",&b[i]);
}
printf("请输入二进制序列的总位数");
scanf("%d",&L2);
L2=L2+e;
printf("请输入二进制序列,请在二进制序列中添多%d个0",e);
for(i=0;i<L2;i++){
scanf("%d",&a[i]);
}
for(i=0;i<=e;i++){
c[i]=a[i];
}
while(p<(L2-e-1)){
add(p,e);
p++;
z(p,e);
}
}
这个是我写的计算机网络求crc校验码的代码,最后的while运行不了