淮工c语言实验10电子,淮工C实验七报告.doc

本篇博客介绍了如何在C语言中实现自定义函数,包括求三角形面积的函数定义、形参实参的理解,以及函数声明和调用。通过实例演示了函数的正确使用,还探讨了错误代码调试过程。涉及的关键概念有函数原型、参数传递和错误处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

淮海工学院电子工程学院

实验报告书

课程名: 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);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值