信息論與編碼實(shí)驗(yàn)報(bào)告材料_第1頁
信息論與編碼實(shí)驗(yàn)報(bào)告材料_第2頁
信息論與編碼實(shí)驗(yàn)報(bào)告材料_第3頁
信息論與編碼實(shí)驗(yàn)報(bào)告材料_第4頁
信息論與編碼實(shí)驗(yàn)報(bào)告材料_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、本科生實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)課程 信息理論與編碼 學(xué)院名稱 信息科學(xué)與技術(shù)學(xué)院 專業(yè)名稱 學(xué)生姓名 學(xué)生學(xué)號(hào) 指導(dǎo)教師 實(shí)驗(yàn)地點(diǎn) 實(shí)驗(yàn)成績 二一六 年 九 月-二一六 年 十一 月填寫說明1、 適用于本科生所有的實(shí)驗(yàn)報(bào)告(印制實(shí)驗(yàn)報(bào)告冊除外);2、 專業(yè)填寫為專業(yè)全稱,有專業(yè)方向的用小括號(hào)標(biāo)明;3、 格式要求: 用A4紙雙面打印(封面雙面打?。┗蛟贏4大小紙上用藍(lán)黑色水筆書寫。 打印排版:正文用宋體小四號(hào),1.5倍行距,頁邊距采取默認(rèn)形式(上下2.54cm,左右2.54cm,頁眉1.5cm,頁腳1.75cm)。字符間距為默認(rèn)值(縮放100%,間距:標(biāo)準(zhǔn));頁碼用小五號(hào)字底端居中。 具體要求:題目(二號(hào)黑

2、體居中); 摘要(“摘要”二字用小二號(hào)黑體居中,隔行書寫摘要的文字部分,小4號(hào)宋體);關(guān)鍵詞(隔行頂格書寫“關(guān)鍵詞”三字,提煉3-5個(gè)關(guān)鍵詞,用分號(hào)隔開,小4號(hào)黑體); 正文部分采用三級(jí)標(biāo)題;第1章 (小二號(hào)黑體居中,段前0.5行)1.1 小三號(hào)黑體(段前、段后0.5行)1.1.1小四號(hào)黑體(段前、段后0.5行)參考文獻(xiàn)(黑體小二號(hào)居中,段前0.5行),參考文獻(xiàn)用五號(hào)宋體,參照參考文獻(xiàn)著錄規(guī)則(GB/T 77142005)。實(shí)驗(yàn)一:香農(nóng)(Shannon)編碼一、實(shí)驗(yàn)?zāi)康恼莆胀ㄟ^計(jì)算機(jī)實(shí)現(xiàn)香農(nóng)編碼的方法。二、實(shí)驗(yàn)要求對(duì)于給定的信源的概率分布,按照香農(nóng)編碼的方法進(jìn)行計(jì)算機(jī)實(shí)現(xiàn)。三、實(shí)驗(yàn)基本原理 給

3、定某個(gè)信源符號(hào)的概率分布,通過以下的步驟進(jìn)行香農(nóng)編碼1.將信源消息符號(hào)按其出現(xiàn)的概率大小排列 2確定滿足下列不等式的整數(shù)碼長Ki ; 3為了編成唯一可譯碼,計(jì)算第i個(gè)消息的累加概率4將累加概率Pi變換成二進(jìn)制數(shù)。5取Pi二進(jìn)制數(shù)的小數(shù)點(diǎn)后K i 位即為該消息符號(hào)的二進(jìn)制碼。四、實(shí)驗(yàn)內(nèi)容1.對(duì)給定信源進(jìn)行二進(jìn)制香農(nóng)編碼。2.對(duì)給定信源進(jìn)行二進(jìn)制香農(nóng)編碼。3.自已選擇一個(gè)例子進(jìn)行香農(nóng)編碼。五、實(shí)驗(yàn)設(shè)備 PC計(jì)算機(jī) ,C+六、實(shí)驗(yàn)報(bào)告要求 1、畫出程序設(shè)計(jì)的流程圖,2、寫出程序代碼,3、寫出在調(diào)試過程中出現(xiàn)的問題 ,4、對(duì)實(shí)驗(yàn)的結(jié)果進(jìn)行分析。七、流程圖八、程序代碼/ test.cpp : 定義控制臺(tái)

4、應(yīng)用程序的入口點(diǎn)。/#include stdafx.h#include #include using namespace std;int _tmain(int argc, _TCHAR* argv)int test;int N; coutN; cout請輸入各符號(hào)的概率:endl; double *X=new doubleN; /離散無記憶信源 int i,j; for(i=0;iN;i+) coutXi+1Xi;/由小到大排序 for(i=0;iN;i+) for(j=i+1;jN;j+) if(XiXj) double temp=Xi;Xi=Xj;Xj=temp; int *K=new i

5、ntN; /確定碼長 for(i=0;iN;i+) Ki=int(-(log(Xi)/log(2.0)+1; /確認(rèn)碼長為 1-log2(p(xi) if(Ki=(-(log(Xi)/log(2.0)+1)/當(dāng)Ki=-log2(p(xi)時(shí),Ki- Ki-; /累加概率 double *pa=new doubleN;pa0=0.0; double *p=new doubleN;p0=0.0; for(i=1;iN;i+)pai=pai-1+Xi-1;pi=pai; /將累加概率轉(zhuǎn)換為二進(jìn)制 string *code=new stringN;for(i=0;iN;i+) for(j=0;j=1)

6、 /累加概率乘2大于1,對(duì)應(yīng)碼字加1,累加概率自身取余 codei+=1; pai=pai*2-1; else /累加概率乘2小于1時(shí),對(duì)應(yīng)碼字加0,累加概率自身取余 codei+=0; pai*= 2; for(i=0;iN;i+) codei= codei.substr(0,Ki); /求碼字 /輸出碼字 coutsetw(12)信源setw(12)概率p(x)setw(12)累加概率 Pa(x)setw(8)碼長 Ksetw(8)碼字endl; for(i=0;iN;i+)coutsetw(12)i+1setw(12)Xisetw(12)pisetw(8) Kisetw(8)data()

7、test; return 0;實(shí)驗(yàn)二:費(fèi)諾編碼一、實(shí)驗(yàn)?zāi)康恼莆胀ㄟ^計(jì)算機(jī)實(shí)現(xiàn)費(fèi)諾編碼。二、實(shí)驗(yàn)要求對(duì)于給定的信源的概率分布,按照費(fèi)諾編碼的方法進(jìn)行計(jì)算機(jī)實(shí)現(xiàn)。三、實(shí)驗(yàn)基本原理 費(fèi)諾編碼的步驟: 1.將概率按從大到小的順序排列;2.按編碼進(jìn)制數(shù)將概率分組,使每組概率和盡可能接近或相等;3.給每組分配一位碼元;4.將每一分組再按同樣原則劃分,重復(fù)2和3,直到概率不再可分為止。四、實(shí)驗(yàn)內(nèi)容1.對(duì)給定信源進(jìn)行二進(jìn)制費(fèi)諾編碼。2.對(duì)給定信源進(jìn)行二進(jìn)制費(fèi)諾編碼。3.自已選擇一個(gè)例子進(jìn)行費(fèi)諾編碼。五、實(shí)驗(yàn)設(shè)備PC計(jì)算機(jī) ,C+ 六、實(shí)驗(yàn)報(bào)告要求 1、畫出程序設(shè)計(jì)的流程圖,2、寫出程序代碼,3、寫出在調(diào)試過程

8、中出現(xiàn)的問題 ,4、對(duì)實(shí)驗(yàn)的結(jié)果進(jìn)行分析。七、流程圖八、程序代碼/feinuo.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。/#include stdafx.h#include #include #include#includeusing namespace std;/int _tmain(int argc, _TCHAR* argv)int n;string *sign;double *p;string *code;void fano(int a,int b) /費(fèi)諾編碼函數(shù)if(b-a)=1) /判斷該組中符號(hào)個(gè)數(shù)是否大于2 double sum=0; for(int i=a;i=b;i+)

9、sum+=pi; /計(jì)算該組概率累加和 double s1=0, *s=new double10; for(int i=a;i=b;i+) s1+=pi;si=fabs(2*s1-sum)/sum; double min=sa; int c; for(int i=a;i=b;i+) if(si=min) min=si; c=i; /定位使兩組概率和盡可能相近或相等的位置c for(int i=a;i=b;i+) if(i=c) codei+=0; /碼字加0 else codei+=1; /碼字加1 /判斷分組點(diǎn)位置,進(jìn)而分情況自身調(diào)用 if(c=a) fano(c+1,b); else if

10、(c=b-1) fano(a,c); else fano(a,c);fano(c+1,b); void main()int feinuo; coutn; p=new doublen; sign=new stringn; code=new stringn; cout請輸入信源符號(hào): ; for(int i=0;isigni; cout請輸入信源符號(hào)的概率: ; for(int i=0;ipi; for(int i=0;in;i+) for(int j=i+1;jn;j+) if(pipj) double temp=pi;pi=pj;pj=temp; string m=signi; signi=

11、signj; signj=m; fano(0,n-1); /費(fèi)諾編碼 coutsetw(8)信源符號(hào)setw(8)概率setw(8) 碼字setw(8)碼長 endl; for(int i=0;in;i+)coutsetw(8)signisetw(8)pisetw(8)codeisetw(8)codei.length()feinuo;實(shí)驗(yàn)三:霍夫曼編碼一、實(shí)驗(yàn)?zāi)康恼莆胀ㄟ^計(jì)算機(jī)實(shí)現(xiàn)霍夫曼編碼 二、實(shí)驗(yàn)要求對(duì)于給定的信源的概率分布,按照霍夫曼編碼的方法進(jìn)行計(jì)算機(jī)實(shí)現(xiàn)。三、實(shí)驗(yàn)基本原理 霍夫曼編碼的步驟:(1). 把信源符號(hào)按概率大小順序排列, 并設(shè)法按逆次序分配碼字的長度。(2). 在分配碼字長

12、度時(shí),首先將出現(xiàn)概率 最小的兩個(gè)符號(hào)的概率相加合成一個(gè)概率(3). 把這個(gè)合成概率看成是一個(gè)新組合符號(hào)地概率,重復(fù)上述做法直到最后只剩下兩個(gè)符號(hào)概率為止。(4). 完成以上概率順序排列后,再反過來逐步向前進(jìn)行編碼,每一次有二個(gè)分支各賦予一個(gè)二進(jìn)制碼,可以對(duì)概率大的賦為0,概率小的賦為1。四、實(shí)驗(yàn)內(nèi)容1.對(duì)給定信源進(jìn)行二進(jìn)制霍夫曼編碼。2.對(duì)給定信源進(jìn)行二進(jìn)制霍夫曼編碼。3.自已選擇一個(gè)例子進(jìn)行霍夫曼編碼。五、實(shí)驗(yàn)設(shè)備 PC計(jì)算機(jī),C+ 六、實(shí)驗(yàn)報(bào)告要求1、畫出程序設(shè)計(jì)的流程圖,2、寫出程序代碼,3、寫出在調(diào)試過程中出現(xiàn)的問題 ,4、對(duì)實(shí)驗(yàn)的結(jié)果進(jìn)行分析。七、流程圖八、程序代碼#include

13、#include #include #include #include /-typedef struct unsigned int weight;unsigned int parent,lchild,rchild; HTNode,*HuffmanTree;typedef char *HuffmanCode;typedef struct unsigned int s1;unsigned int s2; MinCode;void Error(char *message);HuffmanCode HuffmanCoding(HuffmanTree HT,HuffmanCode HC,unsigned

14、 int *w,unsigned int n);MinCode Select(HuffmanTree HT,unsigned int n);void Error(char *message) system(cls); fprintf(stderr,Error:%s,message); exit(1);HuffmanCode HuffmanCoding(HuffmanTree HT,HuffmanCode HC,unsigned int *w,unsigned int n) unsigned int i,s1=0,s2=0; HuffmanTree p; char *cd; unsigned i

15、nt f,c,start,m; MinCode min; if(n=1) Error(Code too small!); m=2*n-1; HT=(HuffmanTree)malloc(m+1)*sizeof(HTNode); for(p=HT,i=0;iweight=*w; p-parent=0; p-lchild=0; p-rchild=0; for(;iweight=0; p-parent=0; p-lchild=0; p-rchild=0; for(i=n+1;i=m;i+) min=Select(HT,i-1); s1=min.s1; s2=min.s2; HTs1.parent=i

16、; HTs2.parent=i; HTi.lchild=s1; HTi.rchild=s2; HTi.weight=HTs1.weight+HTs2.weight; printf(HT List:n); printf(Numberttweightttparentttlchildttrchildn); for(i=1;i=m;i+) printf(%dtt%dtt%dtt%dtt%dn, i,HTi.weight,HTi.parent,HTi.lchild,HTi.rchild); HC=(HuffmanCode)malloc(n+1)*sizeof(char *); cd=(char *)ma

17、lloc(n*sizeof(char *); cdn-1=0; for(i=1;i=n;i+) start=n-1; for(c=i,f=HTi.parent;f!=0;c=f,f=HTf.parent) if(HTf.lchild=c) cd-start=0; else cd-start=1; HCi=(char *)malloc(n-start)*sizeof(char *); strcpy(HCi,&cdstart); free(cd); return HC;MinCode Select(HuffmanTree HT,unsigned int n) unsigned int min,se

18、cmin; unsigned int temp; unsigned int i,s1,s2,tempi; MinCode code; s1=1;s2=1; for(i=1;i=n;i+) if(HTi.parent=0) min=HTi.weight; s1=i; break; tempi=i+; for(;i=n;i+) if(HTi.weightmin&HTi.parent=0) min=HTi.weight; s1=i; for(i=tempi;i=n;i+) if(HTi.parent=0&i!=s1) secmin=HTi.weight; s2=i; break; for(i=1;i

19、=n;i+) if(HTi.weights2) temp=s1; s1=s2; s2=temp; code.s1=s1; code.s2=s2; return code;void main() HuffmanTree HT=NULL; HuffmanCode HC=NULL; unsigned int *w=NULL; unsigned int i,n; system(cls); printf(Input n:); scanf(%d,&n); w=(unsigned int *)malloc(n+1)*sizeof(unsigned int *); w0=0; printf(Enter wei

20、ght:n); for(i=1;i=n;i+) printf(w%d=,i); scanf(%d,&wi); HC=HuffmanCoding(HT,HC,w,n); printf(HuffmanCode:n); printf(NumberttWeightttCoden); for(i=1;i0。 ; 置迭代序號(hào)k+1k,轉(zhuǎn)向; 輸出的結(jié)果; 結(jié)束??梢宰C明,平均互信息具有收斂性,即,所以迭代算法最終能求出任意精度的解。算法的收斂速度與信源初始概率分布的選擇有很大的關(guān)系,初始分布選擇越接近最佳分布,則收斂的速度越快,若初始分布選的正好是最佳分布,則一步就可以求得信道容量。四 實(shí)驗(yàn)內(nèi)容1. 信道

21、轉(zhuǎn)移矩陣為,求信道容量及最佳的概率分布。2. 信道轉(zhuǎn)移矩陣為,求信道容量及最佳的概率分布。3. 信道轉(zhuǎn)移矩陣為,求信道容量及最佳的概率分布。4. 自己選擇一個(gè)例子求信道容量及最佳的概率分布。五、實(shí)驗(yàn)設(shè)備 PC計(jì)算機(jī) ,C+六、實(shí)驗(yàn)報(bào)告要求 1畫出設(shè)計(jì)流程圖,寫出設(shè)計(jì)思路,方法,原理等。 2畫出程序設(shè)計(jì)的流程圖。 3寫出或關(guān)于實(shí)現(xiàn)信道容量迭代計(jì)算法的代碼。 3寫出在調(diào)試過程中出現(xiàn)的問題。4 對(duì)實(shí)驗(yàn)的結(jié)果進(jìn)行分析。七、流程圖八、實(shí)驗(yàn)代碼#include #include #include using namespace std;int main()/=/確定輸入及輸出符號(hào)的個(gè)數(shù)/因?yàn)橐话阆闰?yàn)概率是

22、取等概率,所以為1/num_in/= int num_in,num_out; int i,j; cout輸入符號(hào)的個(gè)數(shù)為:num_in; cout輸出符號(hào)的個(gè)數(shù)為:num_out; cout輸入概率為:endl; float *P_in; P_in=new floatnum_in; /輸入的符號(hào)的概率 float *P_out; P_out=new floatnum_out; /輸出的符號(hào)的概率 for (i=0;inum_in;i+) P_ini=1.0/(float)num_in; coutP_ini ; coutendl;/=/再輸入信道轉(zhuǎn)移概率矩陣/注意進(jìn)行判斷,某行如果總概率大于1,

23、則出現(xiàn)錯(cuò)誤應(yīng)從新輸入/= cout輸入轉(zhuǎn)移概率:endl; float *p_ji; /轉(zhuǎn)移條件概率 p_ji=new float *num_in; for (i=0;inum_in;i+) p_jii=new floatnum_out; for (i=0;inum_in;i+) for (j=0;jp_jiij; for (i=0;inum_in;i+) float validate=0.0; for (j=0;j1.|validate0.) cout輸入數(shù)據(jù)有誤,請檢查后再次輸入。endl; exit(-1); float *p_ij; /反條件概率 p_ij=new float *num

24、_in; for (i=0;inum_in;i+) p_iji=new floatnum_out; float C_Pre,C; /當(dāng)前信道容量和前一次循環(huán)信道容量 C=10.0; double Pe=0.; /兩次信道容量相差的閾值 int r=0; /迭代次數(shù) float *p_up; /計(jì)算第r+1次循環(huán)輸入分布p_in分子 p_up=new floatnum_in; float p_down; /計(jì)算第r+1次循環(huán)輸入分布p_in分母 do r+;/=/求第r次循環(huán)反條件概率p_ij/= for (j=0;jnum_out;j+) P_outj=0.0; for (i=0;i=0.)

25、for (i=0;inum_in;i+) p_ijij=P_ini*p_jiij/P_outj; else for (i=0;inum_in;i+) p_ijij=0.0; /=/求第r+1次循環(huán)輸入分布p_in/= p_down=0.0; for (i=0;inum_in;i+) p_upi=0.0; for (j=0;j=0.) p_upi+=p_jiij*log(p_ijij)/log(2.0); p_upi=pow(2.0,p_upi); p_down+=p_upi; for (i=0;inum_in;i+) P_ini=p_upi/p_down; /=/求C(r+1)/= C_Pre

26、=C; C=log(p_down)/log(2.0); cout第r次的容量為:CPe); cout迭代的次數(shù)為:rendl;實(shí)驗(yàn)結(jié)果如下1.2.3.4.實(shí)驗(yàn)五:循環(huán)碼編碼一、實(shí)驗(yàn)?zāi)康?掌握通過計(jì)算機(jī)實(shí)現(xiàn)系統(tǒng)循環(huán)碼編碼 二、實(shí)驗(yàn)要求: 對(duì)于給定的消息序列,按照循環(huán)碼編碼的方法進(jìn)行計(jì)算機(jī)實(shí)現(xiàn). 三、實(shí)驗(yàn)基本原理循環(huán)碼的編碼步驟: 循環(huán)碼的系統(tǒng)碼構(gòu)造的步驟為: 1)消息多項(xiàng)式乘x n-k 2) x n-km(x)/g(x)=q(x) +r(x)/g(x) 其中:q(x)是商,r(x)是余數(shù) 3)C(x)= xn-km(x)+r(x) 四、實(shí)驗(yàn)內(nèi)容1.GF(2)中(7,4)循環(huán)碼,生成多項(xiàng)式g(x)

27、=x3+x+1,對(duì)信息組(1101)進(jìn)行編碼。2.GF(2)中(15,7)循環(huán)碼,生成多項(xiàng)式g(x)=x8+x7+x6+x4+1,對(duì)信息組()進(jìn)行編碼。3.自己選擇一個(gè)例子進(jìn)行編碼。五、實(shí)驗(yàn)設(shè)備 PC計(jì)算機(jī),C+ 六、實(shí)驗(yàn)報(bào)告要求 1、畫出程序設(shè)計(jì)的流程圖, 2、寫出程序代碼, 3、寫出在調(diào)試過程中出現(xiàn)的問題 , 4、對(duì)實(shí)驗(yàn)的結(jié)果進(jìn)行分析。 七、流程圖八、程序代碼/C言實(shí)現(xiàn)循環(huán)碼系統(tǒng)與非系統(tǒng)編碼#include stdio.h #include #define N 10 /系統(tǒng)編碼實(shí)現(xiàn)void X(int gN,int cN,int r,int n) int degg,degc,i,k,t,j

28、,e,u,sum=0; int dN2*N=0,CN,RN,aN2*N,qN; degg=r; /求信息多項(xiàng)式的次冪 for(i=0;i=n-r-1;i+) if(ci!=0) degc=n-i-1; break; for(i=0;iN;i+) qi=gi; Ri=ci; k=degc-degg; e=k; /二進(jìn)制除法實(shí)現(xiàn) for(j=0;jN;j+) for(i=0;i=e;i-) t=qi;qi=qi-e;qi-e=t; for(i=0;i=n-1;i+) ci=(ci+qn-1-i)%2; for(i=0;i=n-1;i+) if(ci!=0) degc=n-i-1; break; e

29、=degc-degg; u=j; if(e0)break; for(i=0;i=n-1;i+) Ci=(Ri+ci)%2; /輸出 printf(系統(tǒng)編碼的結(jié)果為:n); printf(t); for(j=0;j=n-1;j+) printf(%d ,Cj); printf(n); /非系統(tǒng)編碼實(shí)現(xiàn)void UX(int gN,int cN,int r,int n) int aN2*N,xN; int i,j,k,sum=0; /二進(jìn)制乘法 for(j=0;j=n-r-1;j+) for(i=0;ij;i+) aji=0; for(i=0;i=n-1;i+) aji+j=cj*gi; for(

30、k=i+j;k=2*n-r-2;k+) ajk=0; for(j=0;j=2*n-r-2;j+) sum=0; for(i=0;i=n-r-1;i+) sum=(aij+sum)%2; xj=sum; /輸出 printf(非系統(tǒng)編碼的結(jié)果:n); printf(t); for(j=0;j=n-1;j+) printf(%d ,xj); printf(n); void main() int i,n,m,t,r; int gN=0,cN=0; printf(*循環(huán)碼編碼方法(碼長n=10)*n); printf(t輸入碼長n:); scanf(%d,&m); n=m; switch(n) cas

31、e 1 :printf(輸入校驗(yàn)位r=%d:,n-1); scanf(%d,&r); switch(r) case 0:g0=1;break; break; case 2 :printf(輸入校驗(yàn)位r=%d:,n-1); scanf(%d,&r); switch(r) case 0:g0=1;break; case 1:g0=1;g1=1;break; break; case 3 :printf(輸入校驗(yàn)位r=%d:,n-1); scanf(%d,&r); switch(r) case 0:g0=1;break; case 1:g0=1;g1=1;break; case 2:g0=1;g1=1

32、;g2=1;break; break; case 4 :printf(輸入校驗(yàn)位r=%d:,n-1); scanf(%d,&r); switch(r) case 0:g0=1;break; case 1:g0=1;g1=1;break; case 2:g0=1;g1=0;g2=1;break; case 3:g0=1;g1=1;g2=1;g3=1;break; break; case 5 :printf(輸入校驗(yàn)位r=0,1,4:); scanf(%d,&r); switch(r) case 0:g0=1;break; case 1:g0=1;g1=1;break; case 4:g0=1;g

33、1=1;g2=1;g3=1;g4=1;break; break; case 6 :printf(輸入校驗(yàn)位r=%d:,n-1); scanf(%d,&r); switch(r) case 0:g0=1;break; case 1:g0=1;g1=1;break; case 2:g0=1;g1=1;g2=1;break; case 3:g0=1;g1=0;g2=0;g3=1;break; case 4:g0=1;g1=0;g2=1;g3=0;g4=1;break; case 5:g0=1;g1=1;g2=1;g3=1;g4=1;g5=1;break; break; case 7 :printf(

34、輸入校驗(yàn)位r=0,1,3,4,6:); scanf(%d,&r); switch(r) case 0 :g0=1;break; case 1 :g0=1;g1=1;break; case 3 :g0=1;g1=1;g2=0;g3=1;break; case 4 :g0=1;g1=1;g2=1;g3=0;g4=1;break; case 6 :g0=1;g1=1;g2=1;g3=1;g4=1;g5=1; g6=1;break; break; case 8 :printf(輸入校驗(yàn)位r=%d:,n-1); scanf(%d,&r); switch(r) case 0 :g0=1;break; ca

35、se 1 :g0=1;g1=1;break; case 2 :g0=1;g1=0;g2=1;break; case 3 :g0=1;g1=1;g2=1;g3=1;break; case 4 :g0=1;g1=0;g2=0;g3=0;g4=1;break; case 5 :g0=1;g1=1;g2=0;g3=0;g4=1;g5=1;break; case 6 :g0=1;g1=0;g2=1;g3=0;g4=1;g5=0; g6=1;break; case 7 :g0=1;g1=1;g2=1;g3=1;g4=1;g5=1;g6=1; g7=1;break; break; case 9 :printf(輸入校驗(yàn)位r=%d:,n-1); scanf(%d,&r); switch(r) case 0 :g0=1;break; case 1 :g0=1;g1=1;break; case 2 :g0=1;g1=0;g2=1;break; case 3 :g0=1;g1=0;g2=0;g3=1;break; case 4 :g0=1;g1=0;g2=1;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論