淮海工学院电子工程学院
实验报告书
课程名: c语言程序设计
实验内容: 实验七 C程序的函数(一)
班 级:
学 号:
姓 名:
评语:
评语:
成绩: 指导教师:
批阅时间: 年 月 日
实验目的
掌握自定义函数的一般结构及定义函数的方法。
掌握形参、实参、函数原型等重要概念。
掌握函数声明、函数调用的一般方法。
实验内容与步骤
求三角形面积函数。编写一个求任意三角形面积的函数,并在主函
数中调用它,计算任意三角形的面积。
/* 定义和使用求三角形面积函数的程序 */
#include
#include
float area(float,float,float);
void main()
{
float a,b,c;
printf("请输入三角形的三个边长值:\n");
scanf("%f,%f,%f",&a,&b,&c);
if((a+b>c)&&(a+c>b)&&(b+c>a)&&(a>0.0)&&(b>0.0)&&(c>0.0))
printf("area=%-7.2f\n",area(a,b,c));
else
printf("您输入的三角形的三边长不符合要求");
}
/* 以下是计算任意三角形面积的函数 */
float area(float a,float b,float c)
{
float s,area_s;
s=(a+b+c)/2.0;
area_s=sqrt(s*(s-a)*(s-b)*(s-c));
return(area_s);
}
上机调试下面的程序,记录系统给出的出错信息,并指出出错原因。
原程序:
main()
{
int x,y;
printf("%d\n",sum(x+y));
int sum(a,b);
{
int a,b;
return(a+b);
}
}
修改后的程序
#include
int sum(int a,int b)
{
return(a+b);
}
void main()
{
int x=2,y=5;
printf("%d\n",sum(x,y));
}
编写的程序(题目,经调试、运行后正确的程序)
(1)编写函数,对传送过来的三个数选出最大数和最小数,并通过形参传回调用函数。
#include
int getMax(int a,int b,int c)
{
int temp;
if(a>b)
{
temp=a;
a=b;
b=temp;
}
if(a>c)
{
temp=a;
a=c;
c=temp;
}
if(b>c)
{
temp=b;
b=c;
c=temp;
}
return c;
}
int getMin(int a,int b,int c)
{
int temp;
if(a>b)
{
temp=a;
a=b;
b=temp;
}
if(a>c)
{
temp=a;
a=c;
c=temp;
}
if(b>c)
{
temp=b;
b=c;
c=temp;
}
return a;
}
void main()
{
int a,b,c;
printf("请输入三个数:");
scanf("%d,%d,%d",&a,&b,&c);
int max=getMax(a,b,c);
int min=getMin(a,b,c);
printf("三个数中最大数为%d,最小数为%d",max,min);
}
(2)写出两个函数,分别求出两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。
#include
int getMax(int n,int m)
{
int r;
while(m!=0)
{
r=n%m;
n=m;
m=r;
}
return n;
}
int getMin(int n,int m)
{
int p=n*m;
n=getMax(n,m);