十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
哈哈,还记得我当年也有类似的问题,还特意去借了本初三的数学书来学函数。其实C语言的函数某种程度上包括了数学上的函数,而对C语言本身来讲,数学函数并不是必需的。
专注于为中小企业提供网站制作、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业铜仁免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
估计你在初学C语言时会对函数的概念及如何使用存在诸多困惑,没关系,先照着书上的例子来写程序,等程序写得多了自然会对函数有更清楚的认识的。
#include stdio.h
void main()
{
float a,b,c,s;
printf(“请输入上底下底高:”);
scanf("%f,%f,%f",a,b,c);
s=(a+b)*c/2;
printf("%f\n",s);
}
扩展资料:
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
你的代码中一些问题:
① 图片第四行少写了分号,并且该函数声明 double area(double x,double y,double z); 建议写在最开头。当然,写在主函数里也可以,这是小问题。
② double类型对应的转换说明是 %lf。错误的转换说明会导致输出错误。
③ 主函数中已经利用 s=0.5*(a+b)*c; 求出了梯形的面积,那么为什么还要创建area()函数呢?况且这个函数还没用上。s和area()函数这俩用一个就行。
附上代码:
① 使用area()函数
#include stdio.h
double area(double x,double y,double z);
int main(void)
{
double a,b,c,s;
printf("Please enter a,b and c:");
scanf("%lf,%lf,%lf",a,b,c);
s=area(a,b,c);
printf("s=%lf\n",s);
return 0;
}
double area(double x,double y,double z)
{
return 0.5*(x+y)*z;
}
② 在主函数中直接求
#include stdio.h
int main(void)
{
double a,b,c,s;
printf("Please enter a,b and c:");
scanf("%lf,%lf,%lf",a,b,c);
s=0.5*(a+b)*c;
printf("s=%lf\n",s);
return 0;
}
现在已经改好了,请看更改的地方:
#include stdio.h
void main(void)
{
float a,b,h,area;/*应该声明为float*/
float get_area(float,float,float);/*函数的正确声明法,还有形参和实参不能同名*/
printf("请输入梯形的上底:\n");
scanf("%f",a);
printf("请输入梯形的下底:\n");
scanf("%f",b);
printf("请输入梯形的高:\n");
scanf("%f",h);/*有改动 */
area=get_area(a,b,h);
printf("梯形的面积为%f\n",area);
}
float get_area(float a_x,float b_x,float h_x)
{
return 1/2.0*(a_x+b_x)*h_x;/*把2改成2.0,因为1/2=0,1/2.0=0.5 ,这是C的想法*/
}
直接根据如下梯形面积公式来进行程序的设计:
S=(a+b)*h/2,其中,S表示梯形面积;a和b分别表示梯形的上底和下底,h表示梯形的高。
具体实现方法可以参考如下程序:
#includestdio.h
void main()
{
double a, b, h; // 定义梯形的上底、下底和高
printf("请输入梯形的上底、下底和高:");
scanf("%lf%lf%lf", a, b, h); // 接收用户输入的梯形的上底、下底和高
printf("梯形面积为:%lf", (a+b)*h/2); // 根据梯形面积公式计算并输出梯形面积
}