C语言程序设计实验报告(数组)
1 实验目的
(1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。
2 实验内容
编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求:
1、不允许用strcat()和strlen()字符处理库函数;
2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数strlen()计算并返回两个字符串的长度;
3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度;
5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字符串及其长度。
算法描述流程图
函数catStr 开始 定义函数 catStr(char str1[],char str2[]) 声名变量i,j并赋初值i=0,j=0 str1[i]!='\\0' str2[j]!='\\0' 真 str1[i+j]=str2[j]; 假 str1[i+j]='\\0'; i++,j++ 结束
函数lenStr 开始 定义函数 lenStr(char str[]) 声名变量i=0; m[i]!='\\0' 真 假 printf(\; i++; 结束 3主函数 开始 声名变量 s1[50]=\s2[50]=\ 调用函数lenStr(); 输出s1,s2的字符长度 调用函数catStr()并输出连接后的字符串 输出连接后字符串的长度 再次调用函数lenStr() 结束
4 源程序
#include
void catStr(char str1[],char str2[]) { int i,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(char m[] ) {int i;
for (i=0;m[i]!='\\0';i++); printf(\ }
void main()
{char s1[50]=\ printf(\ printf(\的长度:\ lenStr(s1);
printf(\的长度:\ lenStr(s2); catStr(s1,s2);
printf(\连接后的字符:\ printf(\
printf(\连接后字符的长度:\ lenStr(s1); printf(\ }
5 测试数据
s1=forever, s2=more
6 运行结果
7 出现问题及解决方法
在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。
8 实验心得