实验9 函数(1)
一、实验目的:
1、理解函数的功能
2、熟练掌握函数的定义、声明和调用方法;
二、实验内容
1、(基础题)根据海伦公式由三角形的三边长度a、b、c可以计算三角形面积 ,公式为:,其中:p=(a+b+c)/2。请根据下列要求编写程序:
(1)三角形面积的计算由函数triangle_area实现,函数原型为:double triangle_area(double a, double b, double c);当输入的a、b、c值不能构成三角形时,返回0.0;(提示:构成三角形的三边条件:任意两边之和大于第三边,任意两边之差小于第三边。)
(2)主函数的功能是输入三角形的三条边长,再调用triangle_area()得到面积,最后输出结果;
(3)主函数在前,triangel_area()在后面定义。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
double are(double a,double b,double c);
double x,y,z,s;
printf("请输入三角形的三边:\n");
scanf("%lf%lf%lf",&x,&y,&z);
s = are(x,y,z);
printf("三角形的面积:%lf\n",s);
return 0;
}
double are(double a,double b,double c)
{
double s,p;
p = (a+b+c)/2;
if(a+b>c&&a+c>b&&b+c>a)
{
return sqrt(p*(p-a)*(p-b)*(p-c));
}
else
{
return 0.0;
}
}
2、(基础题)定义一个将十进制数转换成十六进制数的函数void dec_to_hex(int n),该函数的功能是将参数中的十进制数以十六进制方式输出(编程思路参考第9讲课件例子)。在主函数输入一个十进制整数,然后调用dec2hex()输出对应的十六进制数。程序运行结果图如下:
#include <stdio.h>
int main()
{
int n,rem;
void dec_to_hex (int n); // dec_to_hex函数的声明
printf