实验10:函数的定义、声明和调用

更新时间:2023-09-19 00:20:01 阅读量: 小学教育 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验10:函数的定义、声明和调用

实验名称: 函数的定义、声明和调用 成绩: 实验日期: 年 月 日 实验报告日期: 年 月 日

一、实验目的 1、 2、 3、 4、

掌握函数定义(返回、函数名、参数、函数体),调用。 掌握函数的声明

※嵌套调用、递归调用。※ ※掌握函数的传值、传址调用※。

※:不要求

二、实验内容 1、

编制函数fun,其功能是:删除一个字符串中指定的字符。

要求:原始字符串在主函数中输入,处理后的字符串在主函数中输出。 例如:输入“I am a teacher,you are a student”和‘e’输出“I am a tachr,you ar a studnt”。 2、

编制函数sortstr,其功能是对多个字符串进行排序。

要求:欲排序的字符串在主函数中输入,排好序的字符串在主函数中输出。

1

提示:排序算法可参照实验9第4题,即将排序算法改为由一个函数sortstr实现。 3、

三、实验要求 1、

1、2题编制源程序和测试数据;在Turbo C下完成程序的编掌握函数声明的使用。

辑、编译、运行并分析程序结果。 2、

四、实验步骤、过程 1、

编辑、编译、运行程序题1。使用字符串:“I am a teacher,you 3题按实验步骤完成,认真观察,仔细思考思考题。

are a student”以及字符‘e’做测试。 2、

编辑、编译、运行程序题2。使用数据:“Spanish”、“China”、

“America”、“Japan”、“England”做测试。 3、

掌握函数声明的使用

(1) 输入下面程序,编译、连接,如果没有输错,应该提示成功。

运行获得正确结果100。 float fun(float f) {

return f*f; }

void main()

2

{

float k; k=fun(10.0); printf(\}

(2) 把fun函数移到main()函数之后,再次编译,提示错误: Type mismatch in redeclaration of 'fun',(重新定义了fun,类型不一致)。

提示:移动一块程序可以用^KB,^KK定义要移动的块,然后移动光标到要移动的目标位置,^KV移动程序块。另外,^KC还可以复制一块程序,试试吧!

(3) 在main()函数前增加函数声明float fun(float f);,再次编

译,提示成功并能正确运行获得结果。 思考:在什么情况需要函数声明?

五、源程序清单、测试数据、结果。 1、

删除字符串中指定的字符

#include void fun(char [ ],char);

void main() {

3

char s[100],c;

gets(s); c=getchar();

fun(s,c);

puts(s); }

void fun(char s[],char c) {

int i,j;

for(i=0; s[i]!='\\0'; i++) {

if(s[i]==c) {

for(j=i; s[j]!='\\0'; j++) s[j]=s[j+1]; } }

4

}

测试运行:

I am a teacher,you are a student e

I am a tachr,you ar a studnt 2、

字符串进行排序(选择法)

#include

void sortstr(char s[][20],int n) {

int i,j;

for(i=0; i

for(j=i+1; j0) {

char t[20]; strcpy(t,s[i]); strcpy(s[i],s[j]); strcpy(s[j],t); }

5

本文来源:https://www.bwwdw.com/article/1o8h.html

Top