freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)結(jié)構(gòu)文本編輯器-在線瀏覽

2024-08-07 10:17本頁面
  

【正文】 計(jì) 定義單鏈表結(jié)點(diǎn)類型 typedef struct _list //行表結(jié)構(gòu){ char data[80]。 //記錄一行字符長度 struct _list *next。 //前趨指針int row。 全局變量的定義int NUM,C,N。 //定義全局變量*head,文章首行頭指針 各子函數(shù)的偽碼A) CreatWord()文本內(nèi)容輸入函數(shù)具體創(chuàng)建過程如下:a、 定義LinkList指針變量*temp: LinkList *temp。d、 首行頭指針的前驅(qū)指針為空:headpre=NULL。 首行指針的前驅(qū)指針也為空: temppre=NULL。 初始化為字符串結(jié)束標(biāo)志,防止出現(xiàn)亂碼: for(i=0。i++) tempdata[i]=39。e、 利用循環(huán)進(jìn)行文本輸入for(j=0。j++)// 控制一頁 { for(i=0。i++) //控制一行 { ch=getchar()。 //給temp指向的行賦值 templength++。39。 break。給temp的前驅(qū)指針賦值:tempnextpre=temp。將下一行初始化為字符串結(jié)束標(biāo)志,防止出現(xiàn)亂碼:for(i=0。i++) tempdata[i]=39。記錄整個(gè)文章的行數(shù):temprow=NUM+1。文本輸入部分到此結(jié)束。b、 定義指針變量:LinkList *p。d、 利用循環(huán)輸出鏈表中信息: for(j=0。amp。j++) {=for(i=0。amp。39。} p=pnext。C)、CountWord() 文本內(nèi)容統(tǒng)計(jì)函數(shù)本子函數(shù)是對(duì)文本中內(nèi)容進(jìn)行統(tǒng)計(jì)。b、 定義記錄文本行數(shù)變量j,每行字符數(shù)i;c、 定義記錄文本大寫字母數(shù)、小寫字母數(shù)、空格數(shù)、數(shù)字?jǐn)?shù)、標(biāo)點(diǎn)數(shù)和總字?jǐn)?shù)的變量: int WORD=0,word=0,space=0,num=0,punct=0,sum=0。e、 利用循環(huán)對(duì)鏈表中信息進(jìn)行匹配判斷,將大寫字母數(shù)、小寫字母數(shù)、空格數(shù)、數(shù)字?jǐn)?shù)、標(biāo)點(diǎn)數(shù)和總字?jǐn)?shù)統(tǒng)計(jì)出來: for(j=0。j++) { for(i=0。amp。39。 if((ch=39。)amp。(ch=39。)) WORD++。a39。amp。z39。 else if((ch=39。)amp。(ch=39。)) num++。 39。 else if(ch==33||ch==34||ch==39||ch==44||ch==46||ch==58||ch==59||ch==63) {punct++。 }f、 本程序?qū)y(tǒng)計(jì)項(xiàng)目設(shè)計(jì)了菜單提供給用戶選擇。D)SearchWord( ) 文本內(nèi)容查找函數(shù) 本子函數(shù)是對(duì)文本內(nèi)容進(jìn)行查找并且對(duì)查找的內(nèi)容進(jìn)行統(tǒng)計(jì)其出現(xiàn)的次數(shù)。b、 定義定義文本行數(shù)變量j,每行字符數(shù)i,記錄字符出現(xiàn)的次數(shù)變量:int i,j,m=0.,sum=0。d、 使用VC++中的拷貝函數(shù),將形參中str1的值賦給Data:strcpy(Data,str1)。//將輸入的查找字符與鏈表中信息比較,找到第一個(gè)相同的字符 else if(Data[k]!=39。) {j=jk。 } // //從主串第jk個(gè)位置重新查找 if(Data[k]==39。) {sum++。 //j記錄下該字符串出現(xiàn)的位置 printf(\t\t第%d次出現(xiàn)在第%d行第%d列\(zhòng)n,l,i+1,j+1)。 k=0。} temp=tempnext。E)、DeleteWord( ) 文本內(nèi)容刪除函數(shù) 此子函數(shù)是對(duì)文本內(nèi)容進(jìn)行刪除。g、 定義指針變量:LinkList *temp,*term;h、 定義整形變量用來控制行數(shù)、字符數(shù):int i,j,k,m,y,num。j、 使用循環(huán)進(jìn)行刪除操作:其核心算法為: for(i=0。i++) { for(j=0。j++) { if((tempdata[j])==Data[k]) k++。\039。k=0。\039。 break。 } 首先是使用循環(huán)查找到需要?jiǎng)h除字符或者字符串的字符數(shù)以及字符或者字符串的位置,以便于刪除; for(。i++) { for(。j++) { if(j+1k) { termdata[80k+num]=tempdata[j+1]。 } //當(dāng)要?jiǎng)h除的字符串在最后一行只要將最后一行的字符前移 term=temp。 j=0。刪除部分到次完成。具體偽碼如下:a、 定義需要插入的字符或者字符串的輸入數(shù)組:char Data[20]。c、 進(jìn)行輸入操作,將上述兩個(gè)部分進(jìn)行輸入d、 定義一個(gè)整形變量,確定插入的具體位置: int i=(h1)*80+l。f、 對(duì)輸入的字符進(jìn)行插入操作,具體核心算法如下: int n=strlen(Data)。 int insertRow=i/80+1。//將全局變量記錄的行數(shù)賦值給row int j。m=(i%80)amp。n0。//將最后一行插入位置后面的所有字符向后移n位 for(m=(i%80),j=0。m++,j++) {tempdata[m]=Data[j]。 for(int p=insertRow。p++) {if(p == insertRow) r=0。 for(m=templength1r。amp。m) tempdata[m+n]=tempdata[m]。 //p指向前一行 temp = temppre。 for(m = templengthn,j=0。m++,j++) adata[j]=tempdata[m]。m=(i%80)。//插入行位置后的字符后移n位 for(m=(i%80),j=0。m++,j++) tempdata[m] =Data[j]。}E)、Bmenu()文本內(nèi)容處理菜單 本函數(shù)為文本內(nèi)容處理菜單,即使用循環(huán)語句對(duì)文本內(nèi)容處理部分的子函數(shù)集中在此函數(shù)中。仍然是很簡(jiǎn)單的循環(huán)語句實(shí)現(xiàn)。LinkList *temp。}先為head申請(qǐng)存儲(chǔ)空間,然后創(chuàng)建指針變量temp,然后直接在主菜單函數(shù)中進(jìn)行其他操作。錯(cuò)誤主要是在于刪除及插入等子函數(shù)中復(fù)雜操作過程中出現(xiàn)的小問題。另為達(dá)到將輸入的信息賦值給子函數(shù)中定義的數(shù)組,特使用了c++中的strcpy()函數(shù)。清屏函數(shù)使用system(“cls”)。但是本算法的時(shí)間復(fù)雜度比較高,由于輸出函數(shù)、查找函數(shù)算法時(shí)間復(fù)雜度均為O(N),但是刪除函數(shù)、插入函數(shù)算法的時(shí)間復(fù)雜度較高。 經(jīng)驗(yàn)和體會(huì):得到文本編輯器這一課程設(shè)計(jì)題目時(shí),自己還比較害怕是制作向windows系統(tǒng)中記事本一樣的程序。所以自己在整個(gè)課程設(shè)計(jì)過程中還是比較輕松的,編寫過程中遇到的困難及問題都通過查閱資料、向老師提問得以解決。所以本次課程設(shè)計(jì)自己最大的體會(huì)就是不管寫什么程序,自己首先得對(duì)這個(gè)問題要分析透徹,要知道自己要干什么,然后才能讓自己干什么。beautyfromgrowing,lovingtheofThattheofYoulearnandpainfully,justfortotoOrcantoyouranddevouranditYouthethatyourwithbrushtoday.回到主菜單后選擇4號(hào)功能有:圖10 文章內(nèi)容處理菜單選擇1后有:圖11 文本查找結(jié)果選擇2后有:圖12 文章刪除結(jié)果選擇3后有:圖13 文章插入結(jié)果全部結(jié)束后按5回主菜單,按6直接退出程序。六.程序完整代碼includeincludeincludeincludeincludeincludedefine Link_Size 100int NUM,C,N。 int length。 struct list *pre。} LinkList。void HeadWord(){// system(cls)。printf(\t\t**** 歡迎使用簡(jiǎn)單的文本編輯器 ****\n)。}LinkList *CreatWord(){ LinkList *temp。 int i,j。 headpre=NULL。 temppre=NULL。 for(i=0。i++) tempdata[i]=39。printf(開始創(chuàng)建文本,請(qǐng)輸入文章(輸入號(hào)結(jié)束):\n)。jLink_Size。i80。 tempdata[i]=ch。 if(ch==39。) { NUM=j。 } } if(ch==39。) { templength=i。 break。 tempnextpre=temp。 for(i=0。i++) tempdata[i]=39。}temprow=NUM+1。return temp。 LinkList *p。 system(cls)。 printf(\n當(dāng)前文章的內(nèi)容是:)。j=NUMamp。p!=NULL。(i80)amp。(pdata[i])!=39。i++) { printf(%c,pdata[i])。 }}void CountWord(){ LinkList *temp
點(diǎn)擊復(fù)制文檔內(nèi)容
規(guī)章制度相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1