- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C语言程序设计》实验报告
开课实验室:实训楼A-304 2012 年 4月9日
年级专业班
2011级计算机科学与技术
姓名
成绩
课程
名称
C语言程序设计
实验项目
名 称
函数
指导教师
李峰
实验目的
1、熟练掌握函数的一般形式
2、熟练掌握函数的分类
3、熟练掌握函数的定义
4、熟练掌握函数的声明和调用
5、熟练掌握函数的递归调用
二、实验内容
1、求 s=1 + 1/2! +....+ 1/n! 输入 1 个正整数 n,计算 s 的前 n项的和(保留 4 位小数)。要求定义并调用函数 fact(n)计算 n的阶乘。
/* Note:Your choice is C IDE */
#include stdio.h
int fact(int n)
{int i,j=1;
for(i=n;i0;i--)
j*=i;
return j;}
void main()
{int i,n;
float s=0;
scanf(%d,n);
for(i=1;i=n;i++)
{
s+=1.0/fact(i);}
printf(%.4f,s);
}
2、输入2个正整数 a和 n, 求 a+aa+aaa+aa.a(n个 a)之和。要求定义并调用函数fun(a,n),它的功能是返回 aa….a(n个a)。
/* Note:Your choice is C IDE */
#include stdio.h
int fun(int a,int n)
{int i,j=a,p=a;
for(i=1;in;i++)
{ j*=10;
p+=j;}
return p;
}
void main()
{int i,a,n,sum=0;
scanf(%d%d,a,n);
for(i=1;i=n;i++)
sum+=fun( a, i);
printf(sum=%d,sum);
}
3、要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字 digit的个数。例如,countdigit(10090,0)的返回值是3。
/* Note:Your choice is C IDE */
#include stdio.h
int countdigit(int number,int digit)
{int i,j=0;
if(number0)
number=-number;
while(number!=0)
{if(number%10==digit)
j++;
number=number/10;
}
return j;}
void main()
{int number,digit,j;
scanf(%d%d,number,digit);
j=countdigit(number,digit);
printf(%d,j);
}
4、求完数 :输入 2 个正整数 m和 n(1=m,n=1000),输出 m 到 n之间的所有完数(完数就是因子和与它本身相等的数)。要求定义并调用函数 factorsum(number),它的功能是返回 number的因子和。例如,digitsum(12)的返回值是 16(1+2+3+4+6)。
/* Note:Your choice is C IDE */
#include stdio.h
int factsum(int number)
{int i,sum=0;
for(i=1;inumber;i++)
{if(number%i==0)
sum+=i;}
if(sum==number)
{ printf(%d=1,number);
for(i=2;inumber;i++)
if(number%i==0)
printf(+%d,i);
printf(\n); }
}
void main()
{int m,n,i;
scanf(%d%d,m,n);
for(i=m;i=n;i++)
factsum(i);
}
5、求各位数字的立方和等于它本身的数 :输入 2 个正整数 m和 n(1=m,n=1000),输出 m 到 n之间的所有满足各位数字的立方和等于它本身的数。要求定义并调用函数 is(number)判断 number的各位数字之立方和是否等于
原创力文档


文档评论(0)