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