实验七 函数的应用

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

实验七函数的应用

一、实验目的

1. 掌握函数的定义和调用方法。

2.. 掌握函数实参与形参的参数传递关系。

二、实验任务

1.阅读、调试、运行程序,比较阅读的结果和运行的结果。

1)

#include "stdio.h"

void main()

{ int func(int a, int b);

int k=4,m=1,p;

p=func(k,m);

printf("%d,",p);

p=func(k,m);

printf("%d\n",p);

}

int func(int a, int b)

{int m=0,i=2;

i+=m+1;

m=i+a+b;

return m;

}

2)

#include "stdio.h"

void fun(int x, int y, int z)

{ z=x*x+y*y; }

void main()

{ int a=31;

fun(5,2,a);

printf("%d\n",a);

}

3)

#include "stdio.h"

int fun(int a, int b)

{ if(a>b) return(a);

else return(b);

}

void main()

{ int x=3, y=8, z=6, r;

r=fun(fun(x,y), 2*z);

printf("%d\n", r);

}

4)

#include "stdio.h"

void main()

{ void fun(int i,int j);

int i=2,x=5,j=7;

fun(j,6);

printf("i=%d,j=%d,x=%d\n",i,j,x); }

void fun(int i,int j)

{ int x=7;

printf("i=%d,j=%d,x=%d\n",i,j,x); }

5)

#include

void main()

{int f(int a,int b);

int i=2, p;

p=f(i, i+1);

printf("%d\n", p);

}

int f(int a,int b)

{int c;

c=a;

if(a>b) c=1;

else if (a==b) c=0;

else c=-1;

return (c);

}

6)

#include

int func(int a, int b)

{

int c;

c = a + b;

return c;

}

void main()

{

int x = 6, y = 7, z = 8, r;

r = func((x--,y++,x+y),z--);

printf("%d\n",r);

}

2. 完善程序,并调试运行

1)

验证哥哥德巴赫猜想:任何一个大于6的偶数均可表示为两个素数之和。例如6=3+3,8=3+5,…,18=7+11。将6——100之间的每个偶数都表示成两个素数之和。函数prime(m)用于判断m是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

[程序]

#include "stdio.h"

#include "math.h"

void main()

{ int i, k;

int prime(int m);

for (i=6;i<=100;i=i+2)

for(k=3;k<=50;k++)

if( (1) )

{

printf ("%d = %d+%d\n", i, k, i-k);

break;

}

}

int prime(int m)

{int k, n;

if(m==1) return 0;

n=(int)sqrt (m);

for(k=2;k<=n;k++)

(2) ;

(3) ;

}

2)

以下程序的功能是调用函数fun计算:m=1-2+3-4+…+9-10,并输出结果。请填空。

#include

int fun(int n)

{int m=0,f=1, i;

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

{m+=i*f;

f= (1) ;

}

return m;

}

void main() { printf("m=%d\n", (2) );}

3)

以下程序的功能是求字符串的长度, 程序中有4个空,填空使程序完整。 #include

int length(char str[])

{ int i,n; (1) while( (2) )

{n++;i++;} (3)

}

void main()

{char s[80];

int len;

printf("please enter a string:\n");

gets(s); (4)

printf("The length of the string is:%d\n",len);

}

4)

以下程序的功能是输出由字符w 构造成的形如W 的图形。如图所示的为5行的图形。

#include void draw(int n) { int i,j,k,r,m; for(i=1; (1) ;i++) {for(j=1;j<=2;j++) {for(r=1;r

printf("w"); for(k=1; (2) ;k++)printf(" ");

printf("w");

for(m=1;m

} (3)

}

}

void main()

{int n;

printf("input a number:"); (4)

draw(n);}

w ww w w w w w w w w w w w w w ww ww

相关文档
最新文档