| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1811 人关注过本帖
标题:谁写的代码 简直是天才
只看楼主 加入收藏
小兔子慢慢
Rank: 2
等 级:论坛游民
帖 子:45
专家分:30
注 册:2009-4-13
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:20 
谁写的代码 简直是天才
#include <math.h>
#include <stdio.h>
#include <conio.h>

void CRC(int m,int n)
{
    int i=0,j=0;
    int msg[50];
    int gx[20];
    int c[50];

    printf("\ninput the message's numbers:\n");        /*输入二进制信息(0 ~ m-1) */
    for(i=0;i<m;i++)
    {
        scanf("%d",&msg[i]);
    }
    printf("input the G(x)'s numbers:\n");        /*输入二进制生成多项式(0 ~ n-1)*/
    for(i=0;i<n;i++)
    {
        scanf("%d",&gx[i]);
    }

    /*将msg的值赋给c*/
    for(i=0;i<m;i++)
    {
        c[i]=msg[i];
    }
    for(i=m;i<m+n-1;i++)
    {
        c[i]=0;
    }

    for(i=0;i<m;i++)
    {
        if(c[i]==0) continue;
        else
        {
            for(j=0;j<n;j++)
            {
                c[i+j]=c[i+j]^gx[j];
            }
        }
    }

    for(i=0;i<n-1;i++)
    {
        msg[m+i]=c[m+i];
    }

    printf("The CRC:");    /*输出循环冗余码:数组msg[m+n-1]    */
    for(i=0;i<m+n-1;i++)
    {
        printf("%d",msg[i]);
    }
    printf("\n");
}

void CHECK(int k,int n)
{
    int i=0,j=0;
    double r;
    int msg[50];
    int gx[20];
    int c[50];

    printf("\ninput the CRC message:\n");        /*输入二进制信息(0 ~ m-1) */
    for(i=0;i<k;i++)
    {
        scanf("%d",&msg[i]);
    }
    printf("input the G(x):\n");        /*输入二进制生成多项式(0 ~ n-1)*/
    for(i=0;i<n;i++)
    {
        scanf("%d",&gx[i]);
    }

    /*将msg的值赋给c*/
    for(i=0;i<k;i++)
    {
        c[i]=msg[i];
    }

    for(i=0;i<k-(n-1);i++)
    {
        if(c[i]==0) continue;
        else
        {
            for(j=0;j<n;j++)
            {
                c[i+j]=c[i+j]^gx[j];
            }
        }
    }

    for(i=0,r=0;i<n-1;i++)
    {
        r=r+c[k-(n-1)+i]*pow(2,(n-2)-i);
    }

    if(r==0) printf("The message is correct\n");
    else printf("The message is wrong\n");

}

 void main()
{

    int m,n,k;
    char ch;
    for(;;)
    {
    /*    clrscr();*/
        printf("\n***1,Build a CRC message.");
        printf("\n***2,Check a CRC message.");
        printf("\n***0,End!\n");
        fflush(stdin);
        scanf("%c",&ch);

        switch(ch)
        {
            case '1':{
                printf("\nPlease input the message's long:");/*信息的长度m位    */
                scanf("%d",&m);
                printf("Please input the G(x)'s long:");/*生成多项式的长度n位(即阶为n-1)*/
                scanf("%d",&n);
                CRC(m,n);
            } break;
            case '2':{
                printf("\nPlease input the CRC message's long:");
                scanf("%d",&k);
                printf("Please input the G(x)'s long:");
                scanf("%d",&n);
                CHECK(k,n);
            } break;
            case '0':{
                printf("********** The End  **********\n");
                getch();
            /*    exit(0);*/
            } break;
            default:printf("There is something wrong.\n");
        }
        getch();
    }
}
搜索更多相关主题的帖子: 代码 天才 
2010-04-10 10:33
zhuyunshen
Rank: 6Rank: 6
等 级:侠之大者
威 望:2
帖 子:212
专家分:455
注 册:2009-11-22
收藏
得分:0 
天才?
2010-04-10 10:37
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:0 
没写过这东西,写个CRC校验还这么麻烦、。有时间写写看。

离恨恰如春草,更行更远还生。
2010-04-10 11:27
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
没见过世面。。
2010-04-10 11:37
lanxinyuemo
Rank: 2
等 级:论坛游民
帖 子:24
专家分:29
注 册:2010-3-9
收藏
得分:0 
不懂,顶一下…
2010-04-10 11:38
longlong89
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广州
等 级:小飞侠
威 望:6
帖 子:1043
专家分:2754
注 册:2009-8-18
收藏
得分:0 

想象力征服世界
2010-04-10 19:00
小兔子慢慢
Rank: 2
等 级:论坛游民
帖 子:45
专家分:30
注 册:2009-4-13
收藏
得分:0 
回复 4楼 Devil_W
你见过世面  有本事 给我写个更简单的
2010-04-12 08:38
Alar30
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:10
帖 子:988
专家分:1627
注 册:2009-9-8
收藏
得分:0 
偶来看天才表演的
2010-04-12 08:43
小兔子慢慢
Rank: 2
等 级:论坛游民
帖 子:45
专家分:30
注 册:2009-4-13
收藏
得分:0 
回复 8楼 Alar30
写个吧
2010-04-12 08:45
zhangfj2008
Rank: 1
等 级:新手上路
帖 子:8
专家分:3
注 册:2009-11-2
收藏
得分:0 
天才?楼主也太夸奖他了吧!


2010-04-13 14:53
快速回复:谁写的代码 简直是天才
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020361 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved