实验十

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

实验十函数程序设计(一)【实验目的】

1.熟悉掌握函数的定义和调用。

2.掌握函数的实参、形参和返回值的概念及使用。

【实验内容】

一、试着编写下列程序

【例10-1】输出如下图形

**********

hello

**********

源程序:

#include "stdio.h"

void star() /*定义函数*/

{

printf("**********\n");

}

void fun() /*定义函数*/

{

printf(" hello\n");

}

main()

{

star();

fun();

star();

}

举一反三

【10-1】输出如下图形

**********

**********

hello

**********

**********

【例10-2】在函数fun中求1+2+3+4+5的和值,在main()函数中输出和值。

源程序:

#include "stdio.h"

int fun(int n) /*定义函数*/

{

int i=1,sum=0;

for(;i<=n;i++)

sum+=i;

return sum; /*通过return语句向main()返回值*/

}

main()

{

int i=5,sum;

sum=fun(i);

printf("sum=%d\n",sum);

}

举一反三

【10-2】从键盘输入一个正整数n,计算n!的值。要求定义和调用函数fac(n),计算n!。源程序:

#include “stdio.h”

int fac(int m)

{/***************begin****************/

/***************end******************/

}

int main()

{

int n;

double f;

printf(“input n:”);

scanf(“%d”,&n);

f=fac(n);

printf(“%d!=%f\n”,n,f);

}

【例10-3】输入x,输出相应的y值。要求定义和调用函数fun,实现下面的分段函数。

0 (x=0)

y= sin(x) (x>0)

|x| (x<0)

源程序:

#include "stdio.h"

#include "math.h"

float fun(float x) /*在自定义函数体中可以有若干个return语句,但只有一个起作用*/ {

if(x==0)

return 0;

else if(x<0)

return fabs(x);

else

return sin(x);

}

main()

{ float x,y;

printf("Enter x:");

scanf("%f",&x);

printf("\n");

y=fun(x);

printf("y=%f\n",y);

}

举一反三

【10-3】输入x,输出相应的y值。要求定义和调用函数fun,实现下面的分段函数。

2x-1 (x=0)

y= x(x>0)

cos(x) (x<0)

【例10-4】任意输入两个实型数,输出最大值。

源程序:

#include "stdio.h"

double max(double x,double y); /*函数说明*/

main()

{

double a,b;

printf("Enter a,b:");

scanf("%lf,%lf",&a,&b);

printf("最大者=%.2f\n",max(a,b));

}

double max(double x,double y) /*对形参分别定义*/

{

double max;

if(x>y)max=x;

else max=y;

return max;

}

举一反三

【10-4】任意输入三个实型数,在自定义函数fun中求它们的和值,在主函数中输出和值。

二、程序改错

不允许增加行也不允许删除行,也不得更改程序的结构。

1、下列给定程序中,函数fun的功能是:根据整型形参m,计算如下公式的值。

Y=1+1/(2×2)+1/(3×3)+1/(4×4)+…+1/(m×m)

例如,若m中的值为5,则应输出:1.463611。

源程序:

#include

/********found********/

int fun(int m)

{

double y = 1.0;

int i;

/********found********/

for (i=2; i

/********found********/

y += 1/(i*i);

return (y);

}

main()

{

int n = 5;

/********found********/

printf("\nThe result is %1f\n", fun(int n));

}

2、输入三个实型数,输出其中的最大数。要求定义和调用函数max,找出并返回最大数。源程序:

#include "stdio.h"

/********found********/

int max(double x,double y,double z); /*函数说明*/

main()

{

double a,b,c;

printf("Enter a,b,c:");

scanf("%lf,%lf,%lf",&a,&b,&c);

相关文档
最新文档