实验七 函数的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 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