精品资料(2021-2022年收藏)课程设计题_第1页
精品资料(2021-2022年收藏)课程设计题_第2页
精品资料(2021-2022年收藏)课程设计题_第3页
精品资料(2021-2022年收藏)课程设计题_第4页
精品资料(2021-2022年收藏)课程设计题_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include #include #include #define MAXSIZE 1000typedef char datatype;typedef struct datatype aMAXSIZE;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

2、 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;islt.size;i+) printf(%c,slt.ai); j+; if(j%20=0) printf(n);void letter_number(e_list slt) /*全部字母个数*/int i,j=0;if(!slt.

3、size) printf(n错误!);exit(1);else for(i=0;i=a&slt.ai=A&slt.ai=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;islt.size;i+) if(slt.ai= ) j+;printf(%d,j);void digit_number(e_list slt) /*全部数字总数*/int i,j=0;if(!slt.size) printf(n错误!);exi

4、t(1);else for(i=0;i=0&slt.ai=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.aj=s

5、lt.ai+j) j+; else succ=0; i+; if(succ) for(j=0;j(slt.size-p.size-1);j+) slt.ai-1=slt.ai+p.size-1; i+; slt.size=slt.size-p.size; for(i=0;islt.size;i+) printf(%c,slt.ai); printf(n); else printf(n错误!没有与字符串相配的子串!);void main()int i;int right;s.size=0; for(i=0;iMAXSIZE;i+) s.ai=getchar(); s.size+; if(s.ai

6、=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电脑/网络 软件开发 数据库DB 求助:数据结构课程设计 2011-02-28 20:59 pitter2007 | 分类:数据库DB 1. 文章编辑

7、(限1 人完成) 功能:输入一页文字,程序可以统计出文字、数字、空格的个数。 静态存储一页文章,每行最多不超过80个字符,共N行;要求(1)分别统计出其中英文字母数和空格数及整篇文章总字数;(2)统计某一字符串在文章中出现的次数,并输出该次数;(3)删除某一子串,并将后面的字符前移。 存储结构使用线性表,分别用几个子函数实现相应的功能; 输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。 输出形式:(1)分行输出用户输入的各行字符;(2)分4行输出全部字母数、数字个数、空格个数、文章总字数(3)输出删除某一字符串后的文章;扫描二维码下载下载知道APP10分钟有问必答!建议

8、:可使用微信的“扫一扫”功能扫描下载分享到: 2011-03-10 11:12 提问者采纳 #include#include #include /*文本每行以字符串形式存储,行与行之间以链表存储*/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付

9、给 表头指针*/ char tmp100; while(1) gets(tmp); /*输入字符串!*/ if(strlen(tmp)80) printf(每行最多输入80字符); break; if(tmp0=5)break; /*如果发现输入 E,则退出输入*/ p=p-next=new LINE; p-data=new charstrlen(tmp)+1; /*为结点分配空间 */ strcpy(p-data,tmp); if(tmpstrlen(tmp)-1=5) /*除去最后一个控制符 E */ p-datastrlen(tmp)-1=0; break; p-next=NULL; /

10、*最后的一个指针为空 */ head=head-next;/*统计字母数*/int CountLetter(LINE * &head) LINE *p=head; int count=0; do int Len=strlen(p-data); /*计算当前 data 里的数据元素的个数*/ for(int i=0;idatai=a&p-dataidatai=A&p-datainext)!=NULL); /*遍历 链表*/ return count; /*返回文章的字母总数*/*统计数字数*/int CountNumber(LINE * &head) LINE *p=head; int coun

11、t=0; do int Len=strlen(p-data); /*计算当前 data 里的数据元素的个数*/ for(int i=0;idatai=48 & p-datainext)!=NULL); /*遍历 链表*/ return count;/*统计空格数*/int CountSpace(LINE * &head) LINE *p=head; int count=0; do int Len=strlen(p-data); /*计算当前 data 里的数据元素的个数*/ for(int i=0;idatai=32)count+; /*计算空格数,空格ASCII码为32*/ while(p=

12、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 l

13、en1=0; /*保存当前行的总字符数*/ int len2=strlen(str); /*待统计字符串的长度*/ int i,j,k; do len1=strlen(p-data); /*当前行的字符数*/ for(i=0;idatai=str0) k=0; for(j=0;jdatai+j=strj) k+; if(k=len2) count+;i=i+k-1; while(p=p-next)!=NULL); /*遍历 链表*/ return count;/*删除指定的字符串*/void delstringword(char *s,char *str) /* *s为输入的字符串,*str为

14、将要删除的字符*/char *p=strstr(s,str); /*从字符串s中寻找str第一次出现的位置*/ char tmp80; int len=strlen(s); int i=len-strlen(p); int j=i+strlen(str); int count=0; for(int m=0;mi;m+)tmpcount+=sm; for(int n=j;ndata,str)!=NULL)delstringword(p-data,str); while(p=p-next)!=NULL); /*遍历 链表*/*向屏幕输出文章*/void OutPut(LINE * &head) L

15、INE *p=head; do printf(%sn,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 s

16、tr120,str220; 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); 邮箱登录 手机登录窗体顶端帐号 密码 验证码看不清? 记住我的登录状态 #include#include#includestruct ca char c;

17、 ca *next;void InitList(ca *L) cout输入一页文字(以#结束): c = getchar() != #) L-next = new ca; L = L-next; L-next = NULL;void StrNo(ca *L) int n = 0; char s80, *q; ca *p; couts; while(L-next) for (p = L, q = s; *q != 0 & p-next; p = p-next, q+) if (p-c != *q) break; if (*q = 0) n+; L = L-next; cout字符串 s 出现 n

18、 次n;ca *DelStr(ca *L) ca *H = L; char s80, *q; ca *p; couts; if (H-c = *s) for (p = H-next, q = s+1; *q != 0 & p-next; p = p-next, q+) if (p-c != *q) break; if (*q = 0) H = p; while(L-next) for (p = L-next, q = s; *q != 0 & p-next; p = p-next, q+) if (p-c != *q) break; if (*q = 0) L-next = p; else L

19、 = L-next; return H;void print1(ca *L) while(L-next) coutc; L = L-next; coutnext; L = L-next, n+) if(isalpha(L-c) p1+; else if(isdigit(L-c) p2+; else if(L-c = ) p3+; else if(L-c = n) n-; coutn全部字母数: p1; coutn数字个数: p2; coutn空格个数: p3; coutn文章总字数: nendl;void main() ca *L = new ca; int p1, p2, p3, n, c;

20、 InitList(L); do coutc; switch(c) case 1:print2(L, p1, p2, p3, n);break; case 2:StrNo(L);break; case 3:DelStr(L); case 4:print1(L); while(c);提问者评价谢窗体底端 百度首页 | 手机知道 | 登录 注册 新闻 网页 贴吧 知道 音乐 图片 视频 地图 百科 文库 经验窗体顶端我要提问 窗体底端 首页 分类 公社 财富商城知道团队管 理 员认证用户知道之星知道活动 问医生 问律师 问作业 经验 买什么 个人中心 手机知道百度知道 电脑/网络 软件开发 数据库

21、DB 数据结构课程设计 2010-01-07 21:09 廖忠浩 | 分类:数据库DB 课题三 文章编辑功能要求:1 输入一页文字,程序可以统计出文字、数字、空格的个数。静态存储一页文章,每行最多不超过80个字符,共N行;1) 分别统计出其中英文字母数和空格数及整篇文章总字数;2) 统计某一字符串在文章中出现的次数,并输出该次数;3) 删除某一子串,并将后面的字符前移。存储结构使用线性表,分别用几个子函数实现相应的功能;输入数据的形式和范围:可以输入大写、小写的英文字母、任何数字及标点符号。2输出形式:1) 分行输出用户输入的各行字符;2) 分4行输出全部字母数、数字个数、空格个数、文章总字数

22、3) 输出删除某一字符串后的文章;课题五 迷宫求解任务: 可以输入一个任意大小的迷宫数据,用非递归的方法求出一条走出迷宫的路径,并将路径输出。功能要求:在上交资料中请写明:存储结构、基本算法(可以使用程序流程图)、源程序、测试数据和结果、算法的时间复杂度、另外可以提出算法的改进方法;三、课程设计要求1. 问题分析和任务定义。2. 软件设计。3. 编码实现。4. 软件测试。5. 通过验收,提交课程设计报告和电子文档(包括已编译的程序和课程设计报告)。用VC+6.0,麻烦9号前把代码发到327642191.谢谢啦扫描二维码下载下载知道APP10分钟有问必答!建议:可使用微信的“扫一扫”功能扫描下载

23、分享到: 2010-01-08 15:29 提问者采纳 这个自己看下 不过是用C实现的#include #include #include #define MAXSIZE 1000typedef char datatype;typedef struct datatype aMAXSIZE;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); /*全部空格个数*/vo

24、id 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;islt.size;i+) printf(%c,slt.ai); j+; if(j%20=0) printf(n);void letter_numb

25、er(e_list slt) /*全部字母个数*/int i,j=0;if(!slt.size) printf(n错误!);exit(1);else for(i=0;i=a&slt.ai=A&slt.ai=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;islt.size;i+) if(slt.ai= ) 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=0&slt.ai=9) j+;printf(%d,j);void size_number(e_list slt) /*文章总字数*/printf(%d,slt.size);voi

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论