亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 文章編輯10.c

?? C語(yǔ)言環(huán)境下的文檔編輯系統(tǒng) 實(shí)現(xiàn)了字符串的輸出、刪除、統(tǒng)計(jì)
?? C
字號(hào):
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include<malloc.h>


/*創(chuàng)建每行的一個(gè)存儲(chǔ)結(jié)構(gòu)*/
typedef struct line{
    char *data;      //字符串指針需要時(shí) 動(dòng)態(tài)分配內(nèi)存
    struct line *next; //指向下一個(gè)字符串的地址
}LINE;


LINE *CreateTXT(LINE *head){
	LINE *p;
    char tmp[1000];  
    printf("\n請(qǐng)輸入文本,每行最多輸入80字符!\n");
    printf("輸入 Ctrl + E (^E) 則結(jié)束輸入\n");
    p=(LINE *)malloc(sizeof(LINE));  //首先為鏈表 建立一個(gè)附加表頭結(jié)點(diǎn)
    head=p;           //將p付給 表頭指針
    while(1)
    {
		gets(tmp);      //輸入字符串!使用C的輸入函數(shù)     
       	if(tmp[0]==5)break;  //如果發(fā)現(xiàn)輸入 ^E,則退出輸入???      
       	p= p->next=(LINE *)malloc(sizeof(LINE));
	   	p->data=(char *)malloc(strlen(tmp)+1);  //為結(jié)點(diǎn)分配空間   
       	strcpy(p->data,tmp); 
	   	if(tmp[strlen(tmp)-1]==5){      //除去最后一個(gè)控制符 ^E        
           	p->data[strlen(tmp)-1]='\0';
           	break;
	   	}
    }
    p->next=NULL;  //是最后的一個(gè)指針為空。
    head=head->next; 
	return head;    
}


int Count_Space(LINE *head){ //統(tǒng)計(jì)空格數(shù)
    LINE *p=head;
    int asc_space=32; //空格的ASCIC 碼值
    int count=0;
    int Len,i;
    do
    {        
        Len=strlen(p->data);           //計(jì)算當(dāng)前 data 里的數(shù)據(jù)元素的個(gè)數(shù)
        for(i=0;i<Len;i++)
        if(p->data[i]==asc_space)count++;  //計(jì)算空格數(shù)
    }    
    while((p=p->next)!=NULL);    //遍歷 鏈表
    return count;
}


int Count_Num(LINE * head){ //統(tǒng)計(jì)數(shù)字個(gè)數(shù)
    LINE *p=head;
    int count=0; 
	int Len,i;
    do
    {        
        Len=strlen(p->data);           //計(jì)算當(dāng)前 data 里的數(shù)據(jù)元素的個(gè)數(shù)
        for(i=0;i<Len;i++)
        if(p->data[i]>=48 && p->data[i]<=57)count++;  //計(jì)算數(shù)字個(gè)數(shù)
    }    
    while((p=p->next)!=NULL);    //遍歷 鏈表
    return count;
}


int Count_All_Word(LINE *head){ //統(tǒng)計(jì)文章的總字?jǐn)?shù)
    LINE *p=head;  //保存鏈表的首地址
    int count=0;   //總字母數(shù)
    do
    {
		count+=strlen(p->data);
		}    //計(jì)算當(dāng)前行內(nèi)的字符數(shù)!除'\0'結(jié)束符外!注意,該統(tǒng)計(jì)包含“空格的長(zhǎng)度!”
    while((p=p->next)!=NULL);    //遍歷 鏈表    
    return count;
}


int Count_ZM(LINE *head){  //  統(tǒng)計(jì)字母數(shù)
	int count,space_count;
    count=Count_All_Word(head); //總的字符數(shù),包含空格
    space_count=Count_Space(head); //空格數(shù)
    return count-space_count;  //返回文章的字母總數(shù)
}


int Find_Word(LINE *head,char *sch)
{                //統(tǒng)計(jì) sch 在文章中出現(xiàn)的次數(shù)
    LINE *p=head;
    int count=0;
    int len1=0; //保存當(dāng)前行的總字符數(shù)
    int len2=strlen(sch); //待統(tǒng)計(jì)字符串的長(zhǎng)度
    int i,j,k;
    while(p!=NULL)    //遍歷 鏈表
    {
		len1=strlen(p->data);//當(dāng)前行的字符數(shù)      
		for(i=0;i<len1;i++)
		{
			if(p->data[i]==sch[0])				 
			{
			   k=0;
			   for(j=0;j<=len2-1;j++)
					if(p->data[i+j]==sch[j]) k=k+1; //如果字符串首字符相同,依次往后比較
			   if(k==len2)  {count++;i=i+k-1;}//字符串完全相同則計(jì)數(shù)
		   }
		}
		p=p->next;
    }return count;
}


void del_string_word(char *s,char *sch)
{                         // *s為輸入的字符串
	int k,kk,len,i,j;     // *sch 為將要?jiǎng)h除的字符
    char *p=strstr(s,sch);    //查詢(xún)結(jié)果 函數(shù)strstr()用來(lái)在一個(gè)字符串中查找另一個(gè)字符串
    char tmp[80];
    int count=0;             //返回第二個(gè)字符串在第一個(gè)字符串中第一次出現(xiàn)的位置
   	len=strlen(s);
    i=len-strlen(p);
    j=i+strlen(sch);
    for(k=0;k<i;k++) tmp[count++]=s[k];
    for(kk=j;kk<len;kk++) tmp[count++]=s[kk];
    tmp[count]='\0';
    strcpy(s,tmp);           //返回新的字符串
}


void Del_String(LINE *head,char *sch){ //刪除指定的字符串
    LINE *p=head;
    do
    {
		if(strstr(p->data,sch)!=NULL)
			del_string_word(p->data,sch);
    }while((p=p->next)!=NULL);    //遍歷 鏈表
}


void OutPutTxt(LINE *head){ //向屏幕輸出 文章
    LINE *phead;
    do
    {     
		printf("%s",p->data);
    }while((p=p->next)!=NULL);    //遍歷 鏈表
}


void Stats(LINE *head){         //統(tǒng)計(jì)
		printf("文章統(tǒng)計(jì)信息結(jié)果如下:\n");
        printf("英文字母數(shù):%d\n",Count_ZM(head));
        printf("空格數(shù): %d \n",Count_Space(head));
        printf("文章中共出現(xiàn)數(shù)字:%d\n",Count_Num(head));
        printf("統(tǒng)計(jì)文章的總字?jǐn)?shù): %d\n",Count_All_Word(head));
		printf("\n");
    
}


void main(){
	char ID;
	char ch;
    LINE *head;         //文章的首結(jié)點(diǎn)
	printf("              ***********************************************\n");
	printf("              *            文章編輯系統(tǒng)                     *\n");
	printf("              ***********************************************\n");
	printf("\n");
	printf("主菜單如下:\n");	
    while(1){
    printf("        *************************************************************\n");
	printf("        |   1.新建文本鏈表      2.瀏覽輸入文本     3.文本字?jǐn)?shù)統(tǒng)計(jì)   |\n");
    printf("        |   4.特定字符串統(tǒng)計(jì)    5.字符串的刪除     6.返回           |\n");
	printf("        *************************************************************\n");
    printf("請(qǐng)您按關(guān)鍵字代號(hào)選擇菜單操作!\n");
	scanf("%c",&ID);
	getchar();
		while(2)
		{  if(ID=='1')   {
							head=CreateTXT(head);
							printf("你確定要退出此菜單嗎?(Y/N)\n");
							scanf("%c",&ch);
							getchar();
							if(ch=='n') continue;
							else if(ch=='y') break;
							}
		   else if(ID=='2')   {
								OutPutTxt(head); 
								printf("你確定要退出此菜單嗎?(Y/N)\n");
								scanf("%c",&ch);
								getchar();
								if(ch=='n') continue;
								else if(ch=='y') break;
								}
		   else if(ID=='3')     { 
									Stats(head); 
									printf("你確定要退出此菜單嗎?(Y/N)\n");
									scanf("%c",&ch);
									getchar();
									if(ch=='n') continue;
									else if(ch=='y') break;
									}  
			 else if(ID=='4')     {
									char sch[20];int m;
									printf("\n請(qǐng)輸入要統(tǒng)計(jì)的 字符串\n");
									gets(sch);
									m=Find_Word(head,sch);
									printf("出現(xiàn)的次數(shù)為:%d\n",m); 
									printf("你確定要退出此菜單嗎?(Y/N)\n");
									scanf("%c",&ch);
									getchar();
									if(ch=='n') continue;
									else if(ch=='y') break;	 
									}
			 else if(ID=='5')     {
									char tmp_sch[20];
									printf("\n請(qǐng)輸入要?jiǎng)h除的某一字符串:\n");
									gets(tmp_sch); 
									Del_String(head,tmp_sch);
									OutPutTxt(head); 
									printf("你確定要退出此菜單嗎?(Y/N)\n");
									scanf("%c",&ch); 
									getchar(); 
									if(ch=='n') continue;
									else if(ch=='y') break;
									}
			else if(ID=='6')	{    
									printf("你確定要退出系統(tǒng)嗎?(Y/N)\n");
									scanf("%c",&ch); getchar();    
									if(ch=='n') break;
									else if(ch=='y') exit(0);
									}
		else {
				printf("您輸入字母有錯(cuò),請(qǐng)重新輸入!\n\n");
				break;
				}
								   
		}
	}
}









?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人app软件下载大全免费| 国产乱色国产精品免费视频| 日韩欧美亚洲一区二区| 成人一区在线观看| 国产麻豆成人传媒免费观看| 午夜电影网一区| 亚洲欧美日韩国产另类专区| 欧美精品一区二区三区蜜桃视频| 欧美日韩一区二区在线视频| 色婷婷综合久久| 99免费精品在线观看| 大桥未久av一区二区三区中文| 色综合色综合色综合| 日韩一区二区三区免费观看| 7777女厕盗摄久久久| 这里只有精品电影| 国产精品你懂的在线| 国产免费成人在线视频| 久久久久久久久久久久久女国产乱| 精品国产乱码久久久久久影片| 国产精品日产欧美久久久久| 丝袜美腿高跟呻吟高潮一区| 日韩avvvv在线播放| 免费在线观看视频一区| 六月丁香婷婷色狠狠久久| 日韩黄色小视频| 波多野结衣在线aⅴ中文字幕不卡| 精品婷婷伊人一区三区三| 国产亚洲精品免费| 国产精品国产三级国产aⅴ中文 | 午夜电影一区二区| 国产成a人无v码亚洲福利| 99riav久久精品riav| 欧美日韩精品一区二区| 欧美va亚洲va在线观看蝴蝶网| 久久尤物电影视频在线观看| 国产精品久久久久影院老司| 美女久久久精品| 国产传媒日韩欧美成人| 91免费精品国自产拍在线不卡| 欧美亚男人的天堂| 欧美日韩国产乱码电影| 国产精品理论片在线观看| 国产麻豆精品theporn| 日韩一区二区三区免费看 | 欧美日韩一区精品| 自拍偷拍欧美激情| 视频一区视频二区中文| 日本韩国精品在线| 日韩精品中文字幕在线一区| 亚洲国产日韩一级| 久久国产成人午夜av影院| 欧美日韩国产一级片| 艳妇臀荡乳欲伦亚洲一区| 日本不卡的三区四区五区| 欧美午夜精品一区二区蜜桃 | 欧美午夜寂寞影院| 亚洲丝袜精品丝袜在线| av在线综合网| 中文子幕无线码一区tr| 亚洲午夜av在线| 色婷婷亚洲综合| 亚洲精品国产第一综合99久久| 日本三级韩国三级欧美三级| 在线观看欧美黄色| 久久精品一区二区三区四区| 日本视频免费一区| 日韩一区二区免费在线观看| 婷婷一区二区三区| 宅男噜噜噜66一区二区66| 日韩中文字幕麻豆| 欧美理论片在线| 中文字幕一区二区视频| 理论电影国产精品| 精品国免费一区二区三区| 激情久久五月天| 欧美吻胸吃奶大尺度电影| 亚洲一区在线免费观看| 国产成人精品亚洲777人妖 | yourporn久久国产精品| 国产精品麻豆久久久| jlzzjlzz国产精品久久| 亚洲色图.com| 在线视频国内一区二区| 亚洲成人av福利| 91女人视频在线观看| 亚洲综合一区二区精品导航| 欧美三日本三级三级在线播放| 日韩综合一区二区| 精品久久久久久久久久久久包黑料| 久久97超碰色| 欧美一区中文字幕| 亚洲国产cao| 日韩欧美久久一区| 国产jizzjizz一区二区| 日韩美女精品在线| 欧美剧情片在线观看| 狠狠色丁香婷婷综合| 亚洲欧洲日产国产综合网| 欧美专区日韩专区| 日本特黄久久久高潮| 国产欧美日韩在线| 色综合久久综合| 日韩精品乱码av一区二区| 久久久久国产精品人| 色吧成人激情小说| 蜜桃视频在线观看一区二区| 欧美激情一区不卡| 欧美日韩一区国产| 国产高清不卡一区| 亚洲一区免费在线观看| 精品日产卡一卡二卡麻豆| 不卡视频在线看| 日韩高清欧美激情| 国产精品久久久久久久岛一牛影视| 在线看国产一区二区| 久久激五月天综合精品| 亚洲欧美中日韩| 日韩视频在线一区二区| 成人av网站免费| 蜜桃久久精品一区二区| 亚洲欧洲99久久| 日韩一区二区在线播放| 91美女在线看| 久久99久久99| 亚洲小说春色综合另类电影| 久久精品亚洲国产奇米99| 欧美久久一区二区| 本田岬高潮一区二区三区| 久久精品国产在热久久| 亚洲乱码国产乱码精品精小说 | 国产精品一区二区三区网站| 亚洲国产欧美在线| 欧美高清在线视频| 777久久久精品| 91久久精品国产91性色tv| 国产福利一区在线| 天天操天天综合网| 亚洲欧美激情插| 欧美国产一区视频在线观看| 欧美精品一卡二卡| 99久久精品国产毛片| 国产精品中文欧美| 免费精品视频最新在线| 亚洲一区二区三区在线看| 国产目拍亚洲精品99久久精品| 91精品中文字幕一区二区三区| 色婷婷av一区二区三区大白胸| 国产成人午夜视频| 久久99蜜桃精品| 丝袜美腿亚洲色图| 亚洲尤物视频在线| 亚洲色图制服诱惑| 久久精品人人做人人爽人人| 日韩欧美一二三| 欧美精品123区| 欧美日韩国产另类不卡| 色屁屁一区二区| 99精品视频中文字幕| 国产99久久久国产精品免费看| 精品一区二区三区香蕉蜜桃| 日韩av在线播放中文字幕| 洋洋av久久久久久久一区| 亚洲欧洲日韩一区二区三区| 国产精品视频在线看| 久久久国产精品不卡| 久久综合国产精品| 精品日韩av一区二区| 欧美草草影院在线视频| 欧美一区二区国产| 91精品国产欧美日韩| 欧美日韩国产高清一区二区三区 | 亚洲1区2区3区4区| 亚洲成人av电影| 亚洲国产精品久久久男人的天堂 | 制服丝袜一区二区三区| 欧美久久久久久蜜桃| 欧美日韩精品三区| 欧美日韩激情一区| 3atv一区二区三区| 日韩一级完整毛片| 欧美成人一区二区三区在线观看| 欧美一区二区在线播放| 欧美一区中文字幕| 日韩精品中文字幕在线一区| 精品国产污网站| 久久婷婷久久一区二区三区| 国产日韩欧美高清| 国产精品丝袜黑色高跟| 亚洲欧美日韩久久精品| 一区二区三区四区亚洲| 性久久久久久久| 裸体在线国模精品偷拍| 国产精品正在播放| 成人福利视频在线| 91色婷婷久久久久合中文| 色偷偷88欧美精品久久久| 欧美在线视频你懂得| 日韩一区二区影院| 久久久久久久电影|