1、C语言专业课程设计报告字符串处理课程设计报告课程设计题目:研究生初试录取 学生姓名 :李俊 专 业 :计算机应用技术班 级 : 1140302 指导教师 : 宋文琳 2012年 06 月 23日目录一)实验题目.3二)实验目的.3三)实验要求.3四)实验思路.4五)实验过程.6六)实验调试和结果.9七)实验小结.13实验题目字符串处理(1)不使用系统库函数,编写多个函数实现;(2)定义字符数组存放字符串,从键盘输入;(3)调用不同的函数,实现字符串的连接、拷贝、比较、求字符串长度、对字符串内字符进行排序、查找字符串中某个字符是否存在; (4)分别输出以上字符串处理的结果。二)实验目的本次课程设
2、计的主要目的是综合运用所学的C语言知识解决一个比较实际的简单问题,侧重对数组、函数、指针、结构体等相关内容的综合应用,使学生能进一步熟悉掌握C语言的基本语法,进一步提升编程能力并逐步培养编程思维,进而不断提高学生解决问题的能力,并为以后的语言学习打下良好的基础。三) 实验要求1. 学生独立完成课程设计的主要内容;2. 按照实验课表安排进行,不得无故旷课;3按照选题规则确定课程设计题目,不可随意更换,但可在完成规定的任务之后,根据个人兴趣选做其它题目;4严格按照报告格式撰写课程设计报告;5程序实现方式可以自选,可采用指针、数组或其任意组合方式完成。四)实验思路1)整体思路操作3:比较输入需要操作
3、的字符串str1、str2(查找操作另输入需查找的字符)操作4:求字符串长度操作5:对字符串内字符进行排序操作6:查找某个字符是否存在其它操作:显示出错操作2:拷贝操做1:连接运用if函数选择进行不同操作引用各操作的自定义函数(结果输出在引用函数中)五)实验过程 代码:#includevoid main()void lianjie(char a,char b); void kaobei(char a,char b); void bijiao(char a,char b); void qiuchangdu(char a,char b); void paixu(char a,char b); vo
4、id chazhao(char a,char b,char c); char str150,str240; char t; int i; printf(需要进行的操作:;n); scanf(%d,&i); if(i=1) printf(要连接的字符串1:); scanf(%s,str1); printf(要连接的字符串2:); scanf(%s,str2); lianjie(str1,str2); else if(i=2) printf(拷贝的字符串1:); scanf(%s,str1); printf(要拷贝的字符串2:); scanf(%s,str2); kaobei(str1,str2)
5、; else if(i=3) printf(要比较的字符串1:); scanf(%s,str1); printf(要比较的字符串2:); scanf(%s,str2); bijiao(str1,str2); else if(i=4) printf(要求长度的字符串1:); scanf(%s,str1); printf(要求长度的字符串2:); qiuchangdu(str1,str2); else if(i=5) printf(要排序的字符串1:); scanf(%s,str1); printf(要排序的字符串2:); scanf(%s,str2); paixu(str1,str2);else
6、 if(i=6) printf(要查找的字符串1:); scanf(%s,str1); printf(要查找的字符串2:); scanf(%s,str2); printf(输入要查找的字符:); t=getchar(); printf(n); chazhao(str1,str2,t);else printf(没有此操作n);void lianjie(char a,char b) int i=0,j=0; while(ai!=0)i+; while(bj!=0)ai+=bj+; ai=0; printf(连接结果为:%sn,a);void kaobei(char a,char b) int i=
7、0; for(i=0;ibi) printf(第一个字符串大;n); else printf(第二个字符串大;n);void qiuchangdu(char a,char b) scanf(%s,b);int i=0,j=0; while(ai!=0) i+; printf(第一个字符串的长度为:%dn;,i); while(aj!=0) j+; printf(第二个字符串的长度为:%dn,j); void paixu(char a,char b) int i=0,j=0,n=0,m=0; char t; while(an!=0) n+; for(i=0;in-1;i+) for(j=0;ja
8、j+1) t=aj;aj=aj+1;aj+1=t; printf(第一个字符串排序结果为:); for(i=0;in;i+) printf( %c,ai); while(bm!=0) m+; for(i=0;im-1;i+) for(j=0;jbj+1) t=bj;bj=bj+1;bj+1=t; printf(第二个字符串排序结果为:); for(i=0;im;i+) printf( %c,bi); printf(n); void chazhao(char a,char b,char c) int i=0,j=0; while(ai!=0) i+; for( j=0;ji;j+) if(aj!
9、=c) ; else break; if(ji) printf(第一个字符串有字符 %cn;,c); else printf(第一个字符没有字符%c;,c); i=0;j=0; while(bi!=0) i+; for( j=0;ji;j+) if(bj!=c) ; else break; if(ji) printf(第二个字符串有字符 %cn,c); else printf(第二个字符没有字符%cn,c);六)实验调试和结果 输入界面: 操作结果: 调试中出现的错误和改正:定义过程中出现未将引用函数放入主程序中,定义的数组开始没有放在主程序里,而是在引用函数中,引用函数有少数不能自己写出来,在通过多次尝试之后终于得出正确的程序代码,在输入字符时未加取地址符,加入之后又遇到不能输入字符的情况。七) 实验小结 在自主编程的过程中认识到自己在拓宽思维方面的缺陷,程序的大体能够自己掌握,但在细节部分缺陷太多。对数组、函数已基本掌握,但对指针和结构体的掌握不到位,没有能够将指针和结构体运用进去。在编写程序方面已经能够达到熟练运用,没有犯低级错误。通过C语言程序设计课程学习,已经学习到了自己编程,自己调试,不足的方面能自己上网自学。在之后的C语言学习中,一定会加深对C语序的学习,使自主编程能力更进一步。