《C语言程序设计》实验报告实验序号:6实验项目:函数学号姓名Debug专业、班级实验地点指导教师实验时间一、实验目的及要求1、掌握函数声明、定义和使用的方法;2、掌握函数嵌套和递归调用的方法;3、掌握全局变量、局部变量、静态局部变量的概念和使用方法;4、掌握定义头文件的方法,学会建立和调试多文件程序;5、实验内容采用函数方法完成。二、实验设备(环境)及要求使用VisualC++6.0;windows系列操作系统的环境。三、实验内容与步骤1.编写一个函数prt(c,n),重复打印给定的字符c,n次。在主函数中调用prt(c,n)函数,打印一个直角三角形。如:prt(*,6)的结果如下:*********************【实验提示】函数prt(c,n)完成输出功能,是一个void函数,有两个参数。函数源代码部分:运行结果截图:2.写四个函数分别用于计算圆周长、圆面积、圆柱表面积,圆柱体积,在main函数中完成测试。运行结果截图:3.根据以下公式求π的近似值,直到最后一项的绝对值小于10-5为止22222n13121116π运行结果截图:4.用递归方法计算3333321n的值,n的值由键盘输入运行结果截图:5.以下程序的功能是计算s=nkk0!,补足所缺语句。#include“stdio.h”longfun(intn){intI;longm;m=1;for(I=1;I=n;I++)m=m*I;returnm;}main(){longm;intk,n;scanf(“%d”,&n);m=1;for(k=0;k=n;k++)m=m+fun();printf(“%ld\n”,m);}运行结果截图:6.【附加题】写一个函数,使输入的一个字符串按反序,在主函数中输入字符串和,在非主函数中输出反序后的字符串。运行结果截图:7.【附加题】编写程序,证明100-200之间的所有偶数均可写成两个素数之和,并输出。运行结果截图:四、分析与讨论对上机实践结果进行分析,上机的心得体会。五、教师评语签名:日期:成绩附源程序清单:1.#includestdio.h#includestring.hintmain(){intprt(charc,intn);charc,n;scanf(%c%d,&c,&n);prt(c,n);return0;}intprt(charc,intn){inti,j;for(i=1;i=n;i++){for(j=1;j=i;j++)printf(%c,c);printf(\n);}return0;}2.#includestdio.h#definePI3.14doublecircle(doubler){return(2*PI*r);}doublearea(doubler){return(PI*r*r);}doublesurface(doubler,doubleh){return(PI*r*r*2+2*PI*r*h);}doublecolumn(doubler,doubleh){return(PI*r*r*h);}voidmain(){doubler,h;scanf(%lf%lf,&r,&h);printf(Thecircleis%lf\n,circle(r));printf(Theareais%lf\n,area(r));printf(Thesurfaceis%lf\n,surface(r,h));printf(Thecolumnis%lf\n,column(r,h));}3.#includestdio.h#includemath.hintmain(void){doublex,pi;doublefunpi(doublex);printf(enterx:);scanf(%lf,&x);pi=sqrt(funpi(x));printf(pi=%.4f\n,pi);return0;}doublefunpi(doublex){doubledenominator;doubleitem,sum=0;denominator=1.0;item=1.0;while(item=x){item=1.0/(denominator*denominator);sum=sum+item;denominator=denominator+1;}return(sum*6);}4.#includestdio.hlongf();main(){intn;scanf(%d,&n);printf(sum=%d,f(n));}longf(intn){longintsum;if(n==0)sum=1;elsesum=n*f(n-1);return(sum);}5.6#includestdio.h#includestring.h#defineN100main(){voidfl(chara1[N]);chara1[N];printf(请输入一串字符:);gets(a1);fl(a1);}voidfl(chara1[N]){inti,n=0;n=strlen(a1);for(i=n-1;i=0;i--)putchar(a1[i]);}.7.#includestdio.h#includemath.h#defineN200main(){inta[N]={0};inti,m=1,n=0,j,g;intz=100;while(1){g=sqrt(m);for(i=2;i=N;i++){if(m%i==0)break;if(i=g){a[n]=m;printf(%d\n,m);n++;}}m++;if(m==N)break;}while(1){for(i=0;i=N;i++)for(j=i+1;j=N;j++){if(z==a[i]+a[j])printf(%d=%d+%d,z,a[i],a[j]);printf(\n);}z=z+2;if(z==200)break;}}