实验5说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验5说明(函数和指针)

注意,在实验过程中,你编写的程序不要存放在桌面或者C盘,要存在D 盘上。

实验做完之后,会有4个文件:test5-1.c,test5-2.c,test5-3.c,test5-4.c,将这4个文件压缩为学号-姓名-实验5.rar,其中,学号是你自己的学号,姓名是你自己的姓名。

实验5提交截至时间:2011.6.7(第16周周二),22:00之前。

实验5提交地址:ftp://202.204.120.77/hanhui/计算机应用基础/homework/C 语言中各班文件夹中的实验5文件夹。

同学们在上机的时候,请选择开机菜单中的“Develop”项进入系统。

同学们在编写程序的时候,对于需要做注释的语句,要给出适当的注释。

第一部分

编写程序,程序名称命名为test5-1.c,完成如下任务:

(1)有很多物体,比如球体、立方体、圆柱体……,它们都有体积和表面积,要求求取哪个物体的体积和表面积,程序就必须输出那个物体的体积和表面积。

(2)编写球体子函数、立方体子函数、圆柱体子函数(思考一下,为什么形参中的体积和表面积必须用指针?),它们的功能是返回各自的体积和表面积。

(3)在主函数中调用三个子函数(思考一下,调用函数时,传递的实参是什么?),输入1时,输出球体的体积和表面积;输入2时,输出立方体的体积和表面积;输入3时,输出圆柱体的体积和表面积。

(4)在输入1、2或者3时,为了防止误输入,在主函数中要用do…while 语句实现纠错功能。(思考一下,为什么用do…while语句会比较好?)

第二部分

编写程序,程序名称命名为test5-2.c,完成如下任务:

(1)编写求最大值子函数max、求最小值子函数min、求和子函数sum,它们函数头如下所示:

float max(float *p, int n)

float min(float *p, int n)

float sum(float *p, int n)

(2)在主函数main中定义一个一维数组a(数组元素的个数由你来定),调用上述子函数,分别求出数组的最大值、最小值、总和,并且输入结果。(思考一下,调用子函数的时候,传递的实参是什么?)

第三部分

将下面一段程序存储为test5-3.c,读懂该程序的功能,并且对主函数和子函数中的变量、参数、以及执行语句做出注释,并且用注释的形式说明子函数的功能:

#include

#include

void main()

{

void inverse(char str[]);

char string[100];

printf("input string:");

gets(string);

inverse(string);

printf("inverse string:%s\n",string);

}

void inverse(char str[])

{

char t;

int i,j,m;

m=strlen(str);

for(i=0;i<=(m-1)/2;i++)

{

j=m-1-i;

t=str[i];

str[i]=str[j];

str[j]=t;

}

}

第四部分

将test5-3.c复制一份,重命名为test5-4.c:

(1)在test5-4.c中,将子函数inverse中的形参“char str[]”改写为指针类型“char *p”,子函数中相应的内容也要进行改写(思考一下,如何改写?)。

(2)主函数中子函数的声明部分也要改写。(思考一下,函数调用部分要不要改写?)

相关文档
最新文档