广东技术师范学院实验报告
学院:广东技术师范学院专业:软件工程班级:09软件成绩:姓名:林楚金学号:2009034743005 组别:组员:
实验地点:工业中心203 实验日期:2010.6.22 指导教师签名:
实验2项目名称:函数的定义及使用
1、实验目的
理解函数的定义和使用方法,能够根据要求熟练地定义和调用函数。
2、实验内容
题目1:编写程序,计算
5.2
)
50
(sin︒=
y
#include<stdio.h>
#include<math.h>
main()
{
double a,y;
a=sin(3.14*50/180);
y=pow (a,2.5);
printf("%f\n",y);
}
题目2:编写程序,输入x的值,计算e|ln2x|的值。
#include<stdio.h>
#include<math.h>
main()
{
double x,a,b,c;
scanf("%lf",&x);
b=log(2*x);
a=exp(c);
printf("%lf\n",a);
}
题目3:输入一个字符,如果是大写字母,则转换成小写字母后输出,如果是其他字符,则原样输出。
#include<stdio.h>
main()
{
char a;
scanf("%c",&a);
if(a>='A' && a<='Z')
printf("%c\n",a+32);
else
printf("%c\n",a);
}
题目4:定义一个函数,该函数的功能是计算圆周长,参数为圆的半径。
注意需给出验证实例证明程序的正确性。
#include<stdio.h>
main()
{
float diao(float n);
float r,c;
scanf("%f",&r);
c=diao(r);
printf("%f\n",c);
}
float diao(float n)
{
float y;
y=2*T*n;
return y;
}
题目5:定义一个函数,该函数的功能是计算两个坐标点(x1,y1)、(x2,y2)间的距离,两个坐标点间的距离:
2)2
2
-+(
x-
)
(,另定义一个函数,计算两个坐标点的中点坐标。
编写主函数提供输入界面供用户使用该函1y
x
2
1
y
数。
注意需给出验证实例证明程序的正确性。
(完成时间上限:15分钟)
#include<stdio.h>
#include<math.h>
main()
{
float diao1(float q,float w,float e,float r);
float diao2(float m,float n);
float x1,y1,x2,y2,j,xz,yz;
scanf("%f%f%f%f",&x1,&y1,&x2,&y2);
j=diao1(x1,y1,x2,y2);
xz=diao2(x1,x2);
yz=diao2(y1,y2);
printf("两点距离为%.2f\n",j);
printf("中点坐标为(%.0f %.0f)\n",xz,yz);
}
float diao1(float q, float w,float e,float r) { float z;
z=sqrt((q-e)*(q-e)+(w-r)*(w-r)); return z; }
float diao2(float m,float n) { float z; z=(m+n)/2; return z;
}
题目6:定义函数计算三角形的面积。
三角形面积公式为:))()((c s b s a s s Area ---=。
其中)(2
1
c b a s ++=。
另定义一个函数,计算三角形的周长。
注意需给出验证实例证明程序的正确性。
(完成时间上限:15分钟) #include<stdio.h> #include<math.h> main() {
float zhouchang(float c,float k,float g); float mianji(float c,float k,float g,float zh);
float c,k,g,s,zh;
scanf("%f%f%f",&c,&k,&g);
if(c+k<g || c+g<k || k+g<c || c<0 || k<0 || g<0)printf("该图不是三角形\n"); else
{zh=zhouchang(c,k,g);
s=mianji(c,k,g,zh);
printf("面积为%.2f\n",s);
}
}
float zhouchang(float c,float k,float g)
{
float y;
y=(c+k+g)/2;
return y;
}
float mianji(float c,float k,float g,float zh)
{
float m;
m=sqrt( zh*(zh-c)*(zh-k)*(zh-g));
return m;
}
题目7:如下图所示,从键盘输入大圆半径,调用函数,计算阴影部分面积。
注意需给出验证实例证明程序的正确性。
#include<stdio.h>
#include<math.h>
#define T 3.14
float yuan_mianji(float r)
{
float y; y=T*r*r; return y; } main() { float r;
scanf("%f",&r);
printf("阴影部分面积为%.2f\n",yuan_mianji(r)-2*yuan_mianji(r/2));
}
题目8:从键盘输入圆锥体的半径r 和高h 。
计算圆锥体的表面积。
注意需给出验证实例证明程序的正确性。
圆锥体的底面积
2r π=
侧面积
rl π=
其中2
2h r l
+=
圆锥体的表面积=底面积+侧面积。
#include<stdio.h> #include<math.h> #define T 3.14
float yuan_mianji(float r) { float y; y=T*r*r; return y; }
float yuanzhui_cemianji(float r,float h) { float y;
y=T*r*sqrt(r*r+h*h);
return y;
}
main()
{
float r,h;
printf("输入圆锥的地面半径r和高h : ");
scanf("%f%f",&r,&h);
printf("圆锥的表面积为%.2f\n",yuan_mianji(r)+ yuanzhui_cemianji(r,h));
}
题目9:建立用户库函数,其中包含计算圆面积、计算三角形面积、计算直角三角形的斜边长、计算圆锥体侧面积等函数,再编写程序,调用该库函数计算圆锥体面积。
注意需给出验证实例证明程序的正确性。
#include<stdio.h>
#include<math.h>
#define T 3.14
#include<C:\Users\naruto\Desktop\kuhanshu.h>
main()
{
float r,h;
printf("请输入圆锥的底面半径r和高h :");
scanf("%f%f",&r,&h);
printf("圆锥的表面积为:%.2f\n",yuan_mianji(r)+yuanzhui_cemianji(r,h));
}。