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






