- 1、本文档共101页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[]C语言程序设计实验指导书2
C语言程序设计
实验指导书
2011-2012学年
第1学期
学号:________
姓名:________
第1部分 实验篇
实验六 函数
实验目的
熟练掌握函数的定义和使用方法。
熟练掌握调用函数与被调用函数之间的数据传递。
掌握函数的返回值和类型。
掌握的嵌套调用和递归调用。
实验内容
读程序、写结果
⑴/***** s6-1.c *****/
#includestdio.h
main()
{
int a=2,b=10;
func(a,b);
printf(“a=%d,b=%d\n”,a,b);
}
func(int a,int b)
{
int temp;
temp=a;
a=b;
b=temp;
}
【上机前分析结果】
【实际上机结果】
⑵/***** s6-2..c *****/
#includestdio.h
int a=1,j=2;
main()
{
int i=2;
func();
printf(“a=%d,i=%d,j=%d\n”,a,i,j);
}
func()
{
int n,i=5;
printf(“a=%d,i=%d\n”,a,--i);
i++;
a++;
if(a4) func();
a--;
j+=3;
printf(“a=%d,j=%d\n”,a,j);
}
提示:注意函数递归调用的过程。
【上机前分析结果】
【实际上机结果】
(3)/***** s6-3.c *****/
qian1( int x, int y )
{
int c, s, t ;
s=x+y; t=x-y;
c=qian2(s, t);
return (c);
printf(c=%d\n, c);
}
qian2( int x , int y )
{
return ( x + y ) ;
}
main( )
{
int a=1, b=2, c ;
c=2*qian1(a, b);
printf(c = %d\n, c);
}
【上机前分析结果】
【实际上机结果】
2. 完善程序
(1) 给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。
例如:当行参n的值为10时,函数返回-0.204491。
/***** s6-4.c*****
/#include stdio.h
double fun(int n)
{
int i, k;
double s, t;
s=0;
k=___1___;
for(i=1; i=n; i++)
{
t=___2___;
s=s+k*(2*i-1)*(2*i+1)/(t*t);
k=k*___3___;
}
return s;
}
main()
{
int n=-1;
while(n0)
{
printf(Please input(n0): );
scanf(%d,n);
}
printf(\nThe result is: %f\n,fun(n));
}
(2) 以下函数的功能是:求100(不包括100)以内能被2或5整除,但不能同时被2或5整除的自然数。结果保存在数组bb中,函数fun()返回数组bb元素的个数。
/***** s6-5.c *****
#include stdio.h
#define N 100
int fun(int bb[])
{
int i,j;
for (___1___; i100;i++)
if ((i%2!=0i%5==0)||(i%2==0i%5!=0))
___2___;
return j;
}
main()
{
int i,n;
int bb[N];
clrscr();
n=fun(bb);
for (i=0;in;i++)
{
if (i%10==0)
printf(\n);
printf(%4d,bb[i]);
}
}
改错
(1) 以下fun函数用以判断n是否为素数。fun函数中有逻辑错,main函数完成从键盘接收一个整数,再以该数为参数调用fun函数,修改fun中的错误。
/***** s6-6.c *****
#includestdio.h
fun(int n)
{
/*****found*****/
int k, yes=0;
for (k=2; k=n/2; k++)
/*****found*****/
if (n%k==0) yes=1;
/*****found*****/
return;
}
main()
{
int x;
printf(\ninput a number:);
scanf(%d,x);
if (fun(x))
文档评论(0)