C语言实验报告

请高手给出详细的解答过程,不止是编程的,按题目要求还有分析过程等等。
就一题,晚上我来看答案。

题目:若有3个字符串s1、s2、s3,其中:s1=”abcdef”; s2=”123456f”;要求用字符数组实现将s1的内容复制到s3中,并将s2的内容加在s3后面的功能,最后输出字符串s3.

要求过程
一、实验方法与步骤(需求分析、算法设计思路、流程图等):

二、实验原始纪录(源程序、数据结构等):

三、实验结果及分析(计算过程与结果、数据曲线、图表等):

四、实验总结与思考:

我写了个,不知道行不,有什么不妥的请指出哈,如要格式请加我,将之发给你
四 川 大 学 计 算 机 学 院、软 件 学 院
实 验 报 告
学号: 姓名: 专业:计算机科学与技术 班级:5 第 13 周
课程名称 c/C++ 实验课时 2
实验项目 字符串的复制与追加 实验时间 08.5. 16
实验目的 1.掌握字符串的基本操作和理解数据结构

实验环境 VC 6.0
实验内容(算法、程序、步骤和方法) 先计算出S1和S2的字符个数,为S3分配好空间,利用已有库函数先将S1复制到S3中,再将S2追加到S3中,当显示完后要记住收回空间,做好善后处理。
源代码如下:
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char *s1="abcdef";
char *s2="123456f";
int n=strlen(s1)+strlen(s2);//计算s1,和s2的总长度n
char *s3=new char[n+1]; //定义S3并分配空间大小为n
strcpy(s3,s1); //将s1复制到s3中
strcat(s3,s2); //将s2追加到s3后面
cout<<"s3="<<s3<<endl;
delete []s3; //收回空间
s3=NULL; //将指针指向空
return 0;
}

(接上)
实验内容(算法、程序、步骤和方法)

结构是顺序存储结构,算法顺序链接法
数据记录
和计算 数据有:字符串S1 ,S2;和一未知字符串S3
只需计算前两个字符串长度之和

结 论
(结 果) 利用字符数组可以顺序存储字符数据,并且能够顺序处理数据;
算法复杂度O(n+m);处于中性
小 结 字符数组能够带来很好的存储结构,便于操作,但是算法不是很好,只能顺序遍历数组,故复杂度不是很小
指导老师评 议

成绩评定: 指导教师签名:
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-07-18
源程序:
#include<stdio.h>
#include<string.h>
void main()
{
char s1[]={"abcdef"},s2[]={"123456f"},s3[20];
strcpy(s3,s1);
printf("%s\n",strcat(s3,s2));
}

实验结果:abcdef123456f
第2个回答  2013-07-18
1 对每个题目要有需求分析
在需求分析中,将题目中要求的功能进行叙述分析,并且设计解决此问题的数据存储结构,(有些题目已经指定了数据存储的,按照指定的设计),设计或叙述解决此问题的算法,描述算法建议使用流程图,进行算法分析指明关键语句的时间复杂度。
给出实现功能的一组或多组测试数据,程序调试后,将按照此测试数据进行测试的结果列出来 。
对有些题目提出算法改进方案,比较不同算法的优缺点。
如果程序不能正常运行,写出实现此算法中遇到的问题,和改进方法;
2 对每个题目要有相应的源程序(可以是一组源程序,即详细设计部分):
源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
程序能够运行,要有基本的容错功能。尽量避免出现操作错误时出现死循环;
3 最后提供的主程序可以象一个应用系统一样有主窗口,通过主菜单和分级菜单调用课程设计中要求完成的各个功能模块,调用后可以返回到主菜单,继续选择其他功能进行其他功能的选择。最好有窗口展示部分。
4 课程设计报告:(保存在word 文档中,文件名要求 按照"姓名-学号-课程设计报告"起名,如文件名为"张三-001-课程设计报告".doc )按照课程设计的具体要求建立的功能模块,每个模块要求按照如下几个内容认真完成;
其中包括:
a)需求分析:
在该部分中叙述,每个模块的功能要求
b)概要设计
在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义。
c)详细设计
各个算法实现的源程序,对每个题目要有相应的源程序(可以是一组源程序,每个功能模块采用不同的函数实现)
源程序要按照写程序的规则来编写。要结构清晰,重点函数的重点变量,重点功能部分要加上清晰的程序注释。
d)调试分析
测试数据,测试输出的结果,时间复杂度分析,和每个模块设计和调试时存在问题的思考(问题是哪些?问题如何解决?),算法的改进设想。
5. 课设总结: (保存在word 文档中)总结可以包括 : 课程设计 过程的收获、遇到问题、遇到问题解决问题过程的思考、程序调试能力的思考、对数据结构这门课程的思考、在课程设计过程中对C课程的认识等内容;
6.实验报告的首页请参考如下格式:

课程设计实验
起止日期:20 -20 学年 学期
系别 班级 学号 姓名
实验题目 □设计性 □综合性
自我评价
教师评语 能够实现实验要求的功能 □全部 □部分算法有新意 □有 □一般程序运行通过 □全部 □部分 算法注释说明 □完善 □仅有功能说明接口参数说明 □有 □无按期上交打印文档资料及源程序 □所有 □部分综合设计说明报告结构 □合理 □不合理用户使用说明 □完整 □不全现场演示操作有准备 □有 □无问题解答流畅 □流畅 □不流畅独立完成实验 □能 □不能体现团队合作精神。 □能够 □不能
成绩

这是张表格,copy过来时没调整好,不过应该看得明白。我们是这样写的,你可以参考一下。
第3个回答  2013-07-18
汗,程序是容易,但你要写这么多多的文档....
帮顶,看哪个好心人给你写

c语言程序设计实验报告内容
1、实验名称:计算出1000以内10个最大素数之和。2、实验目的:熟练掌握if、if…else、if…else if语句和witch语句格式及使用方法,掌握if语句中的嵌套关系和匹配原则,利用if语句和switch语句实现分支选择结构。熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及...

C语言实验六实验报告——指针
一、实验项目名称指针二、实验目的1.掌握指针的基本概念和基本用法。包括:变量的地址和变量的值,指针变量的说明、指针变量的初始化、指针的内容与定义格式、指针的基本运算等;2.掌握数组与指针的关系并能够利用指针解决数组的相关问题;3.掌握字符串与指针的关系并能够利用指针处理字符串的问题;4.掌...

实验报告应该怎么写?
c语言实验报告总结这样写:在科技高度发展的今天,计算机在人们之中的作用越来越突出。而c语言作为一种计算机的语言,我们学习它,有助于我们更好的了解计算机,与计算机进行交流,因此,c语言的学习对我们尤其重要。在这个星期里,我们专业的学生在专业老师的带领下进行了c语言程序实践学习。在这之前,我们...

水仙花数的c语言实验报告怎么写
1. 包含标准输入输出头文件 `stdio.h`。2. 定义 `main` 函数作为程序的入口。3. 初始化变量 `a`, `b`, `c` 用于存储数字的百位、十位和个位,以及变量 `x`, `y` 用于存储数字的立方和,以及累加和 `sum`。4. 使用三层嵌套循环枚举所有可能的三位数。5. 计算当前三位数的立方和 `x`。

(C语言C++)如何写实验报告??
c(c++)上机实验报告格式:⒈ 实验目的 (1) 了解在具体的语言环境下如何编辑、编译、连接和运行一个 C 程序。⑵ 通过运行简单的 C 程序,初步了解 C 源程序的特点。⑶ 掌握 C 语言数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法。⑷ 掌握不同的类型数据之间赋值的规律...

c语言先排序后折半查找程序的实验报告
1实验目的:熟练掌握一维数组,二维数组的定义,初始化和输入输出方法;熟练掌握与数组有关的常用算法(如查找,排序等)。2实验内容:设定一个整形数组存放20个元素,用直接赋值的方法在程序中初始化该数组。先对这些无序的数据进行排序,然后采用折半查找,把要寻找的数的位置输出出来。3算法描述流程图 源...

C语言试验报告该怎么写?
1)排序用一个函数实现。2)打印的成绩单表项包括:序号,学号、数学、英语、计算机、总分、平均分。3)按实验报告电子模板格式填写实验内容。实验目的 源程序清单:(调试好的源程序代码)include <stdio.h> include <stdlib.h> define STU_NUM 10 \/*宏定义学生的数量*\/ struct student \/*定义一个结构...

C语言程序设计实验报告怎么写?
实验原理和设计方案:1、函数头的选则,while循环语句,switch(case)语句,条件表达式,if else条件语句,自增运算符,设置复杂变量,输出随机操作数。2、变量要有分数变量和等级变量,要有选择算法题数的变量和计算正确与否的变量,要有随机输出的两个操作数变量和自己按运算符号输入结果的变量,最后...

有谁能够告诉我c语言的实验报告怎么写?
实验分析:本题的考察点:二叉树遍历应用。本题主要涉及到对二叉树的创建,二叉树的打印,以及在遍历的时候顺便给每个节点编号,这样打印的时候顺便就把节点的序号也打印出来了。下面分别给出三个算法。二叉树的创建算法:二叉树的打印算法:给结点的编号算法:另外在这里也阐明一下二叉树的结构:结合上面...

c语言模拟加法及进位控制实验
使SWITCHUNIT单元中的开关SW-B=0(打开数据输入三态门)、ALU-B=1(关闭ALU输出三态门)、《计算机组成原理》实验报告正文用纸 2 LDDR1=1、LDDR2=0。按动微动开关KK2,则将二进制数01100101置入DR1中。 b) 用输入开关向暂存器DR2置数。拨动输入开关形成二进制数10100111(或其它数值)。 SW-B=...

相似回答