C语言课程设计报告 - 字符串处理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程设计报告
课程设计题目:研究生初试录取
学生姓名:李俊
专业:计算机应用技术
班级: 1140302
指导教师:宋文琳
2012年 06 月 23日
目录
一)实验题目 (3)
二)实验目的 (3)
三)实验要求 (3)
四)实验思路 (4)
五)实验过程 (6)
六)实验调试和结果 (9)
七)实验小结 (13)
实验题目
字符串处理
(1)不使用系统库函数,编写多个函数实现;
(2)定义字符数组存放字符串,从键盘输入;
(3)调用不同的函数,实现字符串的连接、拷贝、比较、求字符串长度、对字符串内字符进行排序、查找字符串中某个字符是否存在;
(4)分别输出以上字符串处理的结果。
二)实验目的
本次课程设计的主要目的是综合运用所学的C语言知识解决一个比较实际的简单问题,侧重对数组、函数、指针、结构体等相关内容的综合应用,使学生能进一步熟悉掌握C语言的基本语法,进一步提升编程能力并逐步培养编程思维,进而不断提高学生解决问题的能力,并为以后的语言学习打下良好的基础。三)实验要求
1. 学生独立完成课程设计的主要内容;
2. 按照实验课表安排进行,不得无故旷课;
3.按照选题规则确定课程设计题目,不可随意更换,但可在完成规定的任务之后,根据
个人兴趣选做其它题目;
4.严格按照报告格式撰写课程设计报告;
5.程序实现方式可以自选,可采用指针、数组或其任意组合方式完成。
四)实验思路1)整体思路
五)实验过程
代码:
#include
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 str1[50],str2[40];
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(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);
}
void 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");