《C语言程序设计》实验报告
开课实验室:实训楼A-304 2012 年 4月9日 年级专业班 课程 名称 一、 实验目的 1、熟练掌握函数的一般形式 2、熟练掌握函数的分类 3、熟练掌握函数的定义 4、熟练掌握函数的声明和调用 5、熟练掌握函数的递归调用 二、实验内容 1、求 s=1 + 1/2! +....+ 1/n! 输入 1 个正整数 n,计算 s 的前 n项的和(保留 4 位小数)。要求定义并调用函数 fact(n)计算 n的阶乘。 2、输入2个正整数 a和 n, 求 a+aa+aaa+aa.a(n个 a)之和。要求定义并调用函数fun(a,n),它的功能是返回 aa….a(n个a)。 3、要求定义并调用函数countdigit(number,digit),它的功能是统计整数number中数字 digit的个数。例如,countdigit(10090,0)的返回值是3。 4、求完数 :输入 2 个正整数 m和 n(1<=m,n<=1000),输出 m 到 n之间的所有完数(完数就是因子和与它本身相等的数)。要求定义并调用函数 factorsum(number),它的功能是返回 number的因子和。例如,digitsum(12)的返回值是 16(1+2+3+4+6)。 5、求各位数字的立方和等于它本身的数 :输入 2 个正整数 m和 n(1<=m,n<=1000),输出 m 到 n之间的所有满足各位数字的立方和等于它本身的数。要求定义并调用函数 is(number)判断 number的各位数字之立方和是否等于它本身。 6、十进制转换二进制 :输入 1 个正整数 n,将其转换为二进制后输出。要求定义并调用函数 dectobin(n),它的功能是输出 n 的二进制。例如,调用 dectobin(10),输出 1010。 三、源程序清单 1. #include \long fact (int n)//求n的阶乘 { long j,x=1; for(j=1;j<=n;j++) x=x*j; C语言程序设计 实验项目 名 称 函数 指导教师 李峰 2011级计算机科学与技术 姓名 范琳颖 成绩
return x; } main() { long n,i; double s=0; scanf(\ for(i=1;i<=n;i++) s=s+1.0/fact(i); printf(\} 2. #include \int fun(int a,int n)//求aa…a(n个a) { int i,b=0; for(i=1;i<=n;i++) b=b*10+a; return b; } main() { int j,s=0,a,n; scanf(\ for(j=1;j<=n;j++) s=s+fun(a,j); printf(\} 3. #include \int countdigit(int number,int digit)//统计整数number中数字 digit的个数 { int x=0,y; for(number;number!=0;) { y=number; if(y==digit) x=x+1; number=number/10; } return x; } main() { int number,digit,x; scanf(\
x=countdigit(number,digit); printf(\} 4. #include \int factorsum(int number)//求 number的因子和 { int i,a=0,b=0; for(i=2;i<=number;i++) { if(number%i==0) { a=number/i; b=b+a; } } return b; } main() { int m,n,j; printf(\输入 2 个正整数 m和 n(1<=m,n<=1000)\\n\ scanf(\ for(j=m;j<=n;j++) { if(j==factorsum(j)) printf(\ } } 5. #include \int is(int number)// number的各位数字之立方和 { int s=0,a; for(;number!=0;) { a=number; number=number/10; s=s+a*a*a; } return s; } main() { int m,n,i; printf(\输入 2 个正整数 m和 n(1<=m,n<=1000)\\n\ scanf(\ for(i=m;i<=n;i++)
if(i==is(i)) printf(\} 6. #include \void dectobin(int a) { if(a<2) printf(\ else { dectobin(a/2); printf(\ } } int main() { int a; scanf(\ dectobin(a); return 0; } 四、测试数据及测试结果 1.输入 3 输出 1.6667 2.输入 2 3 输出 246 3.输入 23333 3 输出 4 4.输入 5 8 输出 6 5.输入 1 200 输出 1 153 6.输入7 输出111 五、实验结果分析 1.注意函数的定义以及调用的正确性。 2.函数的递归掌握的不好。 教师评价
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新资格考试认证《C语言程序设计》实验报告(六) 全文阅读和word下载服务。
相关推荐: