厦门理工学院 C语言报告实验6_函数
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
} } 2. #include<stdio.h> #define PI 3.14 void main() { float perimeter(float a); float area(float a); float surface(float b,float h); float volume(float b,float h); float r,hh; printf("请输入半径 r 和高 h:"); scanf("%f%f",&r,&hh); printf(" 圆 周 长 : %-10.2f\n 圆 面 积 : %-10.2f\n 圆 柱 表 面 积 : %-10.2f\n 圆 柱 体 积:%-10.2f\n",perimeter(r),area(r),surface(r,hh),volume(r,hh)); } float perimeter(float a) { float p; p=2*a*PI; return p; } float area(float a) { float ar; ar=a*a*PI; return ar; } float surface(float b,float h) { float area(float a); float perimeter(float a); float s; s=area(b)*2+h*perimeter(b); return s; } float volume(float b,float h) { float area(float a); float v; v=h*area(b); return v; }
《C 语言程序设计》实验报告
实验序号:6 学 号 姓 名 林仙丽 实验项目:函数 专业、班级 实验时间 网络工程 2012 年 12 月 29 日
实验地点 一、实验目的及要求
指导教师
1、掌握函数声明、定义和使用的方法; 2、掌握函数嵌套和递归调用的方法; 3、掌握全局变量、局部变量、静态局部变量的概念和使用方法; 4、掌握定义头文件的方法,学会建立和调试多文件程序; 5、实验内容采用函数方法完成。 二、实验设备(环境)及要求 使用 Visual C++ 6.0;windows 系列操作系统的环境。 三、实验内容与步骤 1.编写一个函数 prt(c,n),重复打印给定的字符 c,n 次。在主函数中调用 prt(c,n)函数, 打印一个直角三角形。 如:prt(*,6)的结果如下: * ** *** **** ***** ****** 【实验提示】函数 prt(c,n)完成输出功能,是一个 void 函数,有两个参数。 函数源代码部分: 运行结果截图:
2.写四个函数分别用于计算圆周长、圆面积、圆柱表面积,圆柱体积,在 main 函数中 完成测试。 运行结果截图:
3.根据以下公式求π的近似值,直到最后一项的绝对值小于 10-5 为止
π2 1 1 1 1 2 2 2 2 6 1 2 3 n
运行结果截图:
4.用递归方法计算 1 2 3 n 的值,n 的值由键盘输入 运行结果截图:
m=m*I;
int k,n; scanf("%d",&n); m=0; for(k=0;k<=n;k++) m=m+fun(k); printf("%ld\n",m); } 6. 7.
;
;
6. 【附加题】写一个函数,使输入的一个字符串按反序,在主函数中输入字符串和,在 非主函数中输出反序后的字符串。 运行结果截图:
7. 【附加题】编写程序,证明 100-200 之间的所有偶数均可写成两个素数之和,并输出。 运行结果截图:
四、分析与讨论 对上机实践结果进行分析,上机的心得体会。 五、教师评语 成绩
签名: 日期: 附源程序清单: 1. #include<stdio.h> void main() { void prt(char c,int n); char a; int x; scanf("%c%d",&a,&x); prt(a,x); } void prt(char c,int n) { int i,k; for(i=1;i<=n;i++) { for(k=1;k<=i;k++) printf("%c",c); printf("\n");
3
3
3
3
5.以下程序的功能是计算 s=
k!,补足所缺语句。
k 0
wenku.baidu.com
n
#include “stdio.h” long fun(int n) { int I; long m; m= 1 ; for(I=1; I<=n; I++) m= I*m return m; } main() { long m; int k,n; scanf(“%d”,&n); m= 0 ; for(k=0;k<=n;k++) m=m+ fun(k) printf(“%ld\n”,m); } 运行结果截图:
3. #include<stdio.h> #include<math.h> void main() { float PI,sum=0; int n; for(n=1;;n++) { if(1.0/pow(n,2)>=10e-5) sum+=1.0/pow(n,2); else break; } PI=sqrt(6*sum); printf("%f\n",PI); } 4. #include<stdio.h> #include<math.h> void main() { int n; long fact(int i); scanf("%d",&n); printf("%ld\n",fact(n)); } long fact(int i) { long sum=0; if(i>=1) sum=sum+pow(i,3)+fact(i-1); return sum; } 5. #include<stdio.h> long fun(int n) { int I; long m; m=1; for(I=1; I<=n; I++) return m; } main() { long m;