预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C语言程序设计实验报告(数组) 实验名称数组学院专业班级姓名学号任课教师实验时间 实验目的 熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; 熟练掌握字符数组和字符串函数的使用; 掌握与数组有关的常用算法(查找、排序等)。 实验内容 编写函数catStr(charstr1[],charstr2[])用于进行两个字符串的连接,编写函数lenStr(charstr[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字符串及其长度。 3算法描述流程图 真 假 结束 开始 定义函数 lenStr(charstr[]) 声名变量i=0; m[i]!='\0' i++; printf("%d",i); 函数catStr 假 真 结束 开始 定义函数 catStr(charstr1[],charstr2[]) 声名变量i,j并赋初值i=0,j=0 str1[i]!='\0'str2[j]!='\0' i++,j++ str1[i+j]=str2[j]; str1[i+j]='\0'; 函数lenStr 主函数 结束 开始 声名变量s1[50]="shi", s2[50]="weiyu"; 调用函数lenStr(); 调用函数catStr()并输出连接后的字符串 再次调用函数lenStr() 输出连接后字符串的长度 输出s1,s2的字符长度 源程序 #include<stdio.h> #include<string.h> voidcatStr(charstr1[],charstr2[]) {inti,j; for(i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(charm[]) {inti; for(i=0;m[i]!='\0';i++); printf("%d",i); } voidmain() {chars1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 测试数据 s1=forever,s2=more 运行结果 出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。