文章编辑的源程序
Tex简介

TeX 简介
另外,有很多符号你在 Word 里就不容易找到了。 比如:
用 TeX 只要输入如下: $$ 2\uparrow\uparrow k \mathrel{\mathop=^{\rm def}} 2^{2^{\cdot^{\cdot^{\cdot^2}}}} \vbox{\hbox{$\Big\}\scriptstyle k$}\kern0pt}.$$ 虽然比一般的公式复杂一点,但是你发现里面的 简单的对应关系没有?
TeX 简介
3.如何输入完美的TeX公式
不要以为有了 TeX 你的公式就完全无可挑剔, TeX 输入的公式虽然不假思索就可以比其它程序 来的漂亮,但是我们的目的不是跟其它程序比较。 我们的目的是用最优雅的方式来表达我们的思想。 TeX 只是一个工具,用它能创造出一流的数学书, 也能写出一堆漂亮的垃圾。曾见到过的最好和最 糟的讲义都是用 TeX 写的。 下面来看看为了得到比较完美的公式,几个 需要注意的细节。
TeX 简介
TeX 简介
1.TeX排版系统简介 2.TeX的源文件 3.输入完美的数学公式
TeX 简介
1.1 TeX 是什么?
TeX 是一个排版系统。用 TeX,你可以把你的 文章做成书那种效果。你可以把它打印出来,或 者送到出版社投稿。TeX 非常适合用来写学术论 文和书籍。 TeX 系统是由美国Stanford大学Donnald E.K. (中文名高德纳)教授研制的计算机排版软件系统. TeX 的名字是由大写的希腊字母组成,在希腊语中 这个词的意思是“科学”和“艺术”,这也解释 了它的发音。“T”和“e”就像在“technology”中 的发音一样,而“X”的 发音类似于俄语中的 “kh”。当你对着电脑屏幕读这个单词,你的屏幕 就会起雾.用中文模拟一下吧,有点像“泰喝~”.
vue 循环生成wangeditor富文本编译-概述说明以及解释

vue 循环生成wangeditor富文本编译-概述说明以及解释1.引言1.1 概述Vue.js是一款流行的JavaScript框架,用于构建用户界面。
它采用了MVVM(Model-View-ViewModel)的架构模式,通过数据绑定和组件化的方式,使得开发者能够更高效地构建交互性强、响应式的Web应用程序。
Wangeditor富文本编辑器是一款基于JavaScript和CSS开发的优秀编辑器,它具有简洁、灵活的特点,可以轻松地实现富文本编辑的功能。
它支持常见的文字编辑、图片上传、插入链接、表格等功能,对于那些需要在网页中编辑和展示复杂内容的项目来说,是一个非常方便实用的工具。
本文将重点讨论如何在Vue.js中循环生成Wangeditor富文本编译的实现方法。
通过这种方式,我们可以在页面中动态地添加多个富文本编辑器,并对它们进行统一管理和控制。
这种实现方法不仅提高了开发效率,还使得我们可以更好地管理和扩展页面中的富文本内容。
在接下来的章节中,我们将先介绍Vue.js和Wangeditor的基本概念和特点,然后详细讲解循环生成Wangeditor富文本编译的具体实现方法。
最后,我们将总结本文的主要内容,并展望Vue.js和Wangeditor在未来的应用前景。
通过本文的学习,读者将能够了解到如何利用Vue.js和Wangeditor 构建强大的富文本编辑功能,并且能够灵活地在项目中应用它们。
无论是开发个人博客、电子商务网站还是其他Web应用程序,掌握这些技术和实现方法都会对你的开发工作产生积极的影响。
1.2 文章结构文章结构部分的内容如下:文章结构是指整篇文章的组织架构和逻辑顺序。
一个良好的结构可以帮助读者更好地理解文章内容,并使文章更具逻辑性和条理性。
本文主要包含以下几个部分:1. 引言:介绍本文要讨论的问题,概括说明文章的主题和目的,引发读者的兴趣。
2. 正文:主要包括三个部分。
2.1 Vue.js简介:对Vue.js进行简要介绍,包括其定义、特点和用途等。
qt5源码编译

qt5源码编译QT5(Qt5 Development Kit)是一种多平台开发框架,使用C ++编写,它可以让开发人员使用同一代码库为不同的平台开发图形界面应用程序。
在这篇文章中,我们将学习如何编译QT5源码。
以下是步骤:步骤1:下载源代码您可以通过访问QT5官方网站(www.qt.io)来下载源代码。
在下载页面上选择“源代码”,然后根据您的需求选择合适的版本号。
步骤2:安装依赖项在编译QT5源代码之前,需要安装一些依赖项。
您可以使用下面的命令来安装以下依赖项:sudo apt-get install build-essential libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libsqlite3-dev libssl-dev libpng-devlibjpeg-dev libglib2.0-dev libavcodec-dev libavformat-dev libswscale-dev libx11-dev libxext-dev libgl1-mesa-devlibglu1-mesa-dev libgl-dev步骤3:解压源代码您可以将下载的QT5源代码解压到任何位置,例如/home/user/qt5。
然后,使用终端应用程序进入该文件夹。
步骤4:设置配置文件创建一个名为“qt5Config.conf”的新文件,并使用命令打开它:nano qt5Config.conf复制以下代码并将其粘贴到文件中:./configure -no-sql-sqlite -nomake examples -nomake tests -opensource -confirm-license保存并关闭文件。
步骤5:构建和安装现在,您可以使用以下命令开始构建QT5源代码:./configure -prefix /opt/Qt5makesudo make install此步骤将花费一段时间,具体时间取决于您的计算机速度。
ue编辑器怎么用?ultraedit文本编辑器使用方法

ue编辑器怎么⽤?ultraedit⽂本编辑器使⽤⽅法 ue编辑器的全称是UltraEdit,是⼀款功能强⼤的⽂本编辑器,很多朋友不知道ue编辑器怎么⽤,接下来的这篇⽂章就将为⼤家介绍ultraedit使⽤教程。
⽂中涉及的项⽬使⽤了AVR的Mega168 MCU和Lattice的M4A5 CPLD,IDE为AVR Studio4和ispLEVER,它们都有各⾃的⽂本编辑器,Mega168的源码使⽤C语⾔,M4A5CPLD使⽤Verilog硬件描述语⾔,相应的源⽂件为168.C和M4A5.V。
我们将这两个⽂本⽂件组成⼀个UltraEdit的⼯程⽂件A.prj。
当每次完成编辑修改并保存,进⼊相应的IDE后,会触发IDE的源码重载动作,继续开发流程。
很明显,这是⼀个单⼀⽂本编辑环境的源码开发⽅式。
⼀. ⾼亮语法显⽰⽆论是C语⾔还是Verilog硬件描述语⾔,都有其⾃⼰的关键字和语法,当关键字被突出显⽰的时候,其语法也就被显⽰出来了。
在UltraEdit中,通过关键字的着⾊来实现语法显⽰。
哪些关键字需要着⾊,着何种颜⾊,你都可以⾃⼰定义。
⼆. 函数列表和显⽰折叠C语⾔和许多⾼级语⾔的结构化都是以函数的形式来构建的,当你的视点越⾼时,越能从整体上把握你的系统框架,⽽不是每⼀个函数的细节,这似乎是宏观和微观的关系。
在UltraEdit中,函数列表可以更好地把握系统框架,更快速地进⼊函数的细节。
⽽显⽰折叠可以将C语⾔中的代码块折叠起来,进⽽掩盖这些被折叠部分的细节,从⽽突出了未被折叠的部分,使其成为被关注的焦点。
三. 拆分显⽰有时候在同⼀个程序中,有两个部分需要被同时关注或修改,如果这两部分在程序中的位置相距较远,于是修改起来较⿇烦。
在UltraEdit中,可以进⾏拆分显⽰,你将可以同时看到程序中的两个部分,并在⼀个屏幕中对这两个部分分别修改和编辑。
四. ⾏号显⽰开发过程中,IDE有时会给出⼀些提⽰信息,告诉你程序中某⾏存在语法错误,有些IDE会进⾏位置关联,如果使⽤UltraEdit,可以直接通过⾏号显⽰来快速定位修改。
分享10个程序员常用的的代码文本编辑器

分享10个程序员常⽤的的代码⽂本编辑器通常操作系统和软件开发包中都包含⽂本编辑器,可以⽤来编辑配置⽂件,⽂档⽂件和源代码。
下⾯是笔者总结的10个最好的免费代码⽂本编辑器:1.NOTEPAD++NOTEPAD++是⼀款免费⼜优秀的⽂本编辑器,⽀持在MS Windows环境下运⾏的多种编程语⾔。
NOTEPAD++⽀持超过50种编程、脚本和标记语⾔的语法⾼亮显⽰和代码折叠,能让⽤户迅速减⼩或扩⼤代码段以便查阅整个⽂档。
⽤户也可以⼿动设置当前语⾔,覆盖默认语⾔。
该程序还⽀持⾃动完成某些编程语⾔的API⼦集。
2.VIMVIM是⼀个可⾼度⾃由配置的⽂本编辑器。
它是Vi编辑器的改进版,同时也是免费软件。
该应有程序的建⽴是为了处理代码以及其他很多事情,⽽不只是为了写电⼦邮件和打开配置⽂件。
它允许你编辑⽂本并保存简单的⽂本⽂件,但它的主要功能是还是编辑代码。
它⽀持语法⾼亮显⽰和⾏编号,这是写程序必备的两个基本功能。
⽤户也可以改变界⾯颜⾊以便增加代码的可视性。
对于⽂本编辑,VIM这个程序囊括了多种语⾔的拼写检查器,并有建议如何更正拼写错误的能⼒。
甚⾄是当你正在编写代码的时候,它也能派上⽤场,因为该应⽤程序只检查不被识别为代码的⽂本。
当然你也可以快速地从这个错误跳到下⼀个以便更好地校对⽂本。
VIM是程序员和开发⼈员应对各种⽂本编辑的最佳选择。
3.GNU EmacsEmacs是⼀个可移植、可扩展、免费的⽂本编辑器。
Emacs提供了⼀些命令来管理语句和段落,⾼亮的语法使得源代码更易于阅读,以及“键盘宏”的⽅式来执⾏⽤户定义的编辑命令。
Emacs可以在若⼲个操作系统上运⾏,⽆论你使⽤的是哪⼀种机器类型。
这让程序员⾮常受⽤。
如果你使⽤的是通⽤的编程语⾔,Emacs还会为你提供模式以及相应的排版和布局,更加⽅便你编辑代码。
Emacs或许不是最简单的⼯具,但它绝对是最强⼤的编辑器之⼀。
相⽐vim,Emacs的启动时间更长,所需要的内存也更多。
文章编辑程序源代码

#include<iostream.h>#include <string.h>#include <stdio.h> /*文本每行以字符串形式存储,行与行之间以链表存储*/typedef struct line{char *data;struct line *next;}LINE; /*创建一链表,同时向里面输入文本数据*/void Create(LINE * &head){printf ("请输入一页文章,以Ctrl+E(^E)为结尾(每行最多输入80字符!):\n");LINE *p=new LINE; /*首先为链表建立一个附加表头结点*/ head=p; /*将p付给表头指针*/char tmp[100];while(1){gets(tmp); /*输入字符串!*/if(strlen(tmp)>80){printf("每行最多输入80字符");break;}if(tmp[0]==5)break; /*如果发现输入 ^E,则退出输入*/p=p->next=new LINE;p->data=new char[strlen(tmp)+1]; /*为结点分配空间 */strcpy(p->data,tmp);if(tmp[strlen(tmp)-1]==5) /*除去最后一个控制符 ^E */{p->data[strlen(tmp)-1]='\0';break;}}p->next=NULL; /*最后的一个指针为空 */head=head->next;}/*统计字母数*/int CountLetter(LINE * &head){LINE *p=head;int count=0;do{int Len=strlen(p->data); /*计算当前 data 里的数据元素的个数*/for(int i=0;i<Len;i++)if((p->data[i]>='a'&&p->data[i]<='z')||(p->data[i]>='A'&&p->data[i]<='Z')) /*计算字母数*/count++;}while((p=p->next)!=NULL); /*遍历链表*/return count; /*返回文章的字母总数*/}/*统计数字数*/int CountNumber(LINE * &head){LINE *p=head;int count=0;do{int Len=strlen(p->data); /*计算当前 data 里的数据元素的个数*/ for(int i=0;i<Len;i++)if(p->data[i]>=48 && p->data[i]<=57)count++;/*计算数字数,ASCII码*/}while((p=p->next)!=NULL); /*遍历链表*/return count;}/*统计空格数*/int CountSpace(LINE * &head){LINE *p=head;int count=0;do{int Len=strlen(p->data); /*计算当前 data 里的数据元素的个数*/ for(int i=0;i<Len;i++)if(p->data[i]==32)count++; /*计算空格数,空格ASCII码为32*/ }while((p=p->next)!=NULL); /*遍历链表*/return count;}/*统计文章的总字数*/int CountAll(LINE * &head){LINE *p=head; /*保存链表的首地址*/int count=0;do /*计算总字符数*/{count+=strlen(p->data);}while((p=p->next)!=NULL); /*遍历链表*/return count;}/*统计str在文章中出现的次数*/int FindString(LINE * &head,char *str){LINE *p=head;int count=0;int h=0;int len1=0; /*保存当前行的总字符数*/ int len2=strlen(str); /*待统计字符串的长度*/ int i,j,k;do{len1=strlen(p->data); /*当前行的字符数*/for(i=0;i<len1;i++) /*字符匹配*/{if(p->data[i]==str[0]){k=0;for(j=0;j<len2;j++)if(p->data[i+j]==str[j]) k++;if(k==len2) {count++;i=i+k-1;}}}}while((p=p->next)!=NULL); /*遍历链表*/return count;}/*删除指定的字符串*/void delstringword(char *s,char *str)/* *s为输入的字符串,*str为将要删除的字符*/{char *p=strstr(s,str); /*从字符串s中寻找str第一次出现的位置*/ char tmp[80];int len=strlen(s);int i=len-strlen(p);int j=i+strlen(str);int count=0;for(int m=0;m<i;m++)tmp[count++]=s[m];for(int n=j;n<len;n++)tmp[count++]=s[n];tmp[count]='\0';strcpy(s,tmp); /*返回新的字符串*/}void DelString(LINE * &head,char *str){LINE *p=head;do{if(strstr(p->data,str)!=NULL)delstringword(p->data,str);}while((p=p->next)!=NULL); /*遍历链表*/}/*向屏幕输出文章*/void OutPut(LINE * &head){LINE *p=head;do{printf("%s\n",p->data);}while((p=p->next)!=NULL); /*遍历链表*/}void main(){LINE *head;Create(head);printf("输入的文章为:\n");OutPut(head);printf("\n");printf("全部字母数:%d \n",CountLetter(head));printf("数字个数:%d \n",CountNumber(head));printf("空格个数: %d \n",CountSpace(head));printf("文章总字数: %d \n",CountAll(head));char str1[20],str2[20];printf("\n");printf("请输入要统计的字符串:");scanf("%s",str1);printf("%s出现的次数为:%d \n",str1,FindString(head,str1));printf("\n");printf("请输入要删除的某一字符串:");scanf("%s",str2);DelString(head,str2);printf("删除%s后的文章为:\n",str2);OutPut(head);}。
26种基于PHP的开源博客系统

26种基于PHP的开源博客系统26种基于PHP的开源博客系统来源:本站原创以下列举的PHP开源Blog系统中,除了我们熟知的WordPress之外,⼤多都没有使⽤过,其中⼀些已经被淘汰,或者有⼈还在使⽤。
除了做⼀个参考之外,也是想看看,PHP在个⼈⽹站应⽤系统中所发挥的作⽤和产⽣的影响。
1、WordPress是最热门的开源个⼈信息发布系统(Blog)之⼀,闻名遐迩,基于PHP+MySQL构建。
WordPress提供的功能包括:1.⽂章发布、分类、归档。
2.提供⽂章、评论、分类等多种形式的RSS聚合。
3.提供链接的添加、归类功能。
4.⽀持评论的管理,垃圾信息过滤功能。
5.⽀持对样式CSS和PHP程序的直接编辑、修改。
6.在Blog系统外,⽅便的添加所需页⾯。
7.通过对各种参数进⾏设置,使你的Blog更具个性化。
8.静态html页⾯⽣成。
9.通过选择不同主题,⽅便地改变页⾯的显⽰效果。
10.通过添加插件,可提供多种特殊的功能。
11.⽀持Trackback和pingback。
12.⽀持针对某些其它blog软件、平台的导⼊功能。
13.⽀持多⽤户。
14.安装最简单。
15.Web标准⽀持⾮常好。
16.使⽤⽐较简单。
17.拥有⼤量的主题与插件。
2、Lifetype同样是⼀个开源的Blog平台,在同⼀个系统中⽀持多个Blog和多个⽤户。
它具有:友好的⽤户界⾯通过所见即所得⽂章编辑器,你可以编排出整齐漂亮包含图⽚,声⾳以及视频的的⽂章。
做到 Podcasting的功能。
此外通过摘要页⾯,你可以在每次登⼊管理者后台界⾯时就能够了解你Blog⽬前所有统计信息,包含最新⽂章,评论以及引⽤等等。
多媒体⽂档管理通过管理者后台界⾯可以轻松做到⾃动图⽚缩放,上传⼤量⽂档,编写⽂档描述,让你可以很容易建⽴⼀个⽀持Podcasting的Blog。
多样化的主题提供超过60个不同的精美模板供你选择。
通过管理者界⾯,你可以安装,删除,编辑你当前所有的主题丰富的插件程序如果标准安装中没有你想要的功能,可以通过安装其提供的60多种插件来满⾜你的需求。
ASP网站源代码修改方法

ASP网站源代码修改方法摘要:一、怎么样去除默认的管理员(joekoe)先用joekoe这个管理员进入后台,找到一个配置管理asp源代码,点基本信息配置,可以修改超级管理员,就是现在的joekoe点用户管理里的某一用户asp.n...一、怎么样去除默认的管理员(joekoe)先用joekoe这个管理员进入后台,找到一个配置管理asp源代码,点基本信息配置,可以修改超级管理员,就是现在的joekoe点用户管理里的某一用户,可以进行类型修改,可改成管理员。
当你添加了别的管理员后,就可以点权限管理,再点某一管理员,就可以设置他的权限了,只要选中就行了。
点击确定。
二、如何添加新的菜单和新的页面添加新的菜单的格式如下:abc:新的菜单那么新建个.asp文件:abc.asp文件内容可以有两种形式:第一种是直接转到你的别的程序或网址上asp是什么,如下:<%response.redirect "你以的文件名或网址"%>第二种是按现在的网站结构生成类似的页面asp源码,如下:<!-- #include file="include/config_other.asp" --><!-- #include file="include/conn.asp" --><%tit="新的菜单"call web_head(0,1asp代码,0asp空间,教程,0)'------------------------------------left----------------------------------call format_login()'----------------------------------left end--------------------------------call web_center(0)'-----------------------------------center---------------------------------response.write ukong%>'以下是页面的内容'可以添加一个系统表格(可随颜色等一起改变)<% response.write kong&table1 %><tr<%response.write table2%>><td> <%response.write img_small("fk0") %> <font class=end><b>表格标题</b></font></td></tr><tr<%response.write table3%>><td align=center>'内容,可以做些HTML的东西</td></tr></table>'以上是页面的内容<%response.write kong'---------------------------------center end-------------------------------call web_end(1)%>三、网站目录及主要文件说明┌./ 网站主目录├ads 广告目录,标准版里可没有├data_jk 数据库目录│├counter.asp 文本记数器的数据文件│├joekoe_data.asp 主数据库,及时进行备份asp源码,可防下载│└ip_address.mdb  IP地址数据库asp源码免费asp空间,一般不作更新├images 图片文件夹│├down 下载栏相关的图片│├face 个人头像,可按顺序添加│├forum 论坛个性图片│├icon  EM贴图│├links 友情链接里LOGO的指定文件夹│├mail 用户短信相关的图片和文件│├main 默认的网站SKIN图片文件夹│├shop 产品相关的图片教程,标准版里可没有│├small 网站大量小图片及公用图片文件夹│├star 用户星级图片│├ubb  UBB相关的图片│└vote 调查相关的图片│├bg.gif 网站背景图片│├bg_dian.gif 背景线图片│├bg2.gif 网站背景2图片│├bg3l.gif 网站左隔栏背景图│├bg3r.gif 网站右隔栏背景图│├joekoe.css 网站CSS配置文件│├joekoe.ani 鼠标文件│├login_bg.gif 用户登陆信息背景图│├logo.gif 网站LOGO图片│└top_logo.gif 网站左上角的标志图├include 网站主程序配置文件│├back_common.asp 配置备份文件│├common.asp 配置文件│├common_other.asp 其它配置文件│├config.asp 网站主模块│├config_counter.asp 网站文本计数程序│├config_frm.asp  UBB帮助工具│├config_nsort.asp 分类模块│├config_other.asp 非主栏目的配置文件│├conn.asp 主数据库连接文件│├conn_ip.asp  IP数据库连接文件│├functions.asp 公共函数模块│├jk_md5.asp  MD5加密模块│├jk_page_cute.asp 分页模块1│├jk_pagecute.asp 分页模块2│├jk_ubb.asp 网站UBB支持模块│├onlogin.asp 后台相关模块│├skin.asp 网站主SKIN文件│└其它...  config_栏目标识.asp为相关栏目的配置模块├admin_login.asp 登陆后台入口├prg 下载栏文件目录,可更名├style 存放网站JS脚本├upload 网站上传文件目录,可更名├index.asp 空间首页├main.asp 网站首页文件├login.asp 登陆及注册文件├help.asp 帮助信息文件├links.asp 友情链接文件└其它... 各栏目文件等四、几个常用的函数即使用方法1、call web_head(0asp教程,0,0,0,0) 按顺序来(“,”隔开)第1个参数(可选三个参数:0,1,2) 0asp文件asp代码,表示不要登陆即可进行浏览该页面; 1,表示在后台设置要登陆浏览时asp空间,表示有权限用户(请查看下面的说明)登陆后才可浏览该页面; 2asp代码,表示强制有权限用户登陆后才可浏览该项页面;第2个参数(可选两个参数:0,1)&教程教程,表示在执行完本函数用户验证后不关闭与清空数据库连接对象; 1,表示在执行完本函数用户验证后关闭与清空数据库连接对象,需配合(callweb_end(1))一起使用;第3个参数(可选三个参数:0,教程,2) 0,表示以左小右大形式的方式显示页面,如本站的文栏一样教程,需配合(call web_center(0))一起使用; 1,表示以左大右小形式的方式显示页面,如本站的动态一样,需配合(call web_center(1))一起使用; 2,表示以满屏方式显示asp文件,不分左右,如本站的文章浏览一样;第3、4两个参数为保留。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAXSIZE 1000
typedef char datatype;
typedef struct {
datatype a[MAXSIZE];
int size;
}e_list;
e_list s;
e_list t;
void ptint_slt(e_list slt); /*输出文本*/
void letter_number(e_list slt); /*全部字母个数*/
void space_number(e_list slt); /*全部空格个数*/
void digit_number(e_list slt); /*全部数字总数*/
void size_number(e_list slt); /*文章总字数*/
void dele_print(e_list p,e_list slt); /*输出删除某一字符串后的文章*/
void ptint_slt(e_list slt) /*输出文本*/
{
int i,j=0;
if(!slt.size) {printf("\n错误!");exit(1);}
else
for(i=0;i<slt.size;i++)
{
printf("%c",slt.a[i]);
j++;
if(j%20==0) printf("\n");
}
}
void letter_number(e_list slt) /*全部字母个数*/
{
int i,j=0;
if(!slt.size) {printf("\n错误!");exit(1);}
else
for(i=0;i<slt.size;i++)
{
if((slt.a[i]>='a'&&slt.a[i]<='z')||(slt.a[i]>='A'&&slt.a[i]<='Z'))
j++;
}
printf("%d",j);
}
void space_number(e_list slt) /*全部空格个数*/
{
int i,j=0;
if(!slt.size) {printf("\n错误!");exit(1);}
else
for(i=0;i<slt.size;i++)
{
if(slt.a[i]==' ')
j++;
}
printf("%d",j);
}
void digit_number(e_list slt) /*全部数字总数*/
{
int i,j=0;
if(!slt.size) {printf("\n错误!");exit(1);}
else
for(i=0;i<slt.size;i++)
{
if(slt.a[i]>='0'&&slt.a[i]<='9')
j++;
}
printf("%d",j);
}
void size_number(e_list slt) /*文章总字数*/
{
printf("%d",slt.size);
}
void dele_print(e_list p,e_list slt) /*输出删除某一字符串后的文章*/ {
int i,j,succ;
i=0;succ=0; /*用i扫描正文t,succ为匹配成功标志*/
while((i<=slt.size-p.size+1)&&(!succ))
{
j=0;succ=1; /*用j扫描模式p*/
while((j<=p.size-1)&&succ)
if(p.a[j]==slt.a[i+j]) j++;
else succ=0;
i++;
}
if(succ)
{
for(j=0;j<(slt.size-p.size-1);j++)
{
slt.a[i-1]=slt.a[i+p.size-1];
i++;
}
slt.size=slt.size-p.size;
for(i=0;i<slt.size;i++)
{
printf("%c",slt.a[i]);
}
printf("\n");
}
else printf("\n错误!没有与字符串相配的子串!"); }
void main()
{
int i;
int right;
s.size=0;
printf("请输入文本:\n");
for(i=0;i<MAXSIZE;i++)
{
s.a[i]=getchar();
s.size++;
if(s.a[i]=='\n') {s.size--; break;}
}
printf("\n文本录入完毕!输出的文本为:\n");
ptint_slt(s);
printf("\n全部字母个数为:");
letter_number(s);
printf("\n全部空格个数为:");
space_number(s);
printf("\n全部数字个数为:");
digit_number(s);
printf("\n文章总字数为:");
size_number(s);
printf("\n要删除的字符串为:");
for(i=0;i<MAXSIZE;i++)
{
t.a[i]=getchar();
t.size++;
if(t.a[i]=='\n') {t.size--; break;} }
printf("\n删除字符串后的结果为:");
dele_print(t,s);
}。