您的位置:首页 > 其它

湖北民族学院oj2202之循环冗余检验CRC

2018-03-23 17:17 281 查看

题目描述

使用循环冗余检验CRC计算帧检验序列FCS,并输出发送的帧。(CRC算法请参考谢希仁《计算机网络》第七版第3.1节)

输入描述

输入为两行。第一行输入M位二进制,表示待发送的数据。(M<=100)第二行输入R+1位二进制,表示生成多项式的系数。(R<=32)

输出描述

在一行中输出加上FCS后发送的帧。

输入样例

101001
1101

输出样例

101001001
AC代码如下:#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
const int maxn = 100+10;

char a[maxn],b[maxn];

int main()
{
scanf("%s %s",a,b);
int lena = strlen(a);
int lenb = strlen(b);
for(int i=0;i<lena;i++) printf("%c",a[i]);
for(int i=lena;i<lena+lenb-1;i++)
{
a[i]='0';
}
for(int i=0;i<lena+1;i++)
{
while(i<lena+1 && a[i]=='0') i++;
if(i>=lena+1) break;
for(int j=0;j<lenb;j++)
{
if(a[i+j]==b[j]) a[i+j]='0';
else a[i+j]='1';
}
}
for(int i=lena;i<lena+lenb-1;i++)
{
printf("%c",a[i]);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: