[求助]用C语言编写求梯形面积公式的简易计算器
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/08 02:56:20
[求助]用C语言编写求梯形面积公式的简易计算器
er,我刚学C语言,今天写了这么一段代码:
#include
void main(void)
{
int a,b,h,area;
int get_area(a,b,h);
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);
}
int get_area(int a,int b,int h)
{
return 1/2*(a+b)*h;
}
编译、连接的时候都没问题,但是在运行的时候,在显示了“请输入梯形的上底:”这句话,然后我随便输入了一个数字然后回车之后,就弹出了这样一个框框:
Debug Error!
Program:(我程序保存的地址)
Runtime Error
(Press retry to debugthe application)
哪儿错了呢?
我初步认为是,
在
printf("请输入梯形的上底:\n");
scanf("%f",&a);
和
printf("请输入梯形的下底:\n");
scanf("%f",&b);
这两段(以及下面的那一段)之间应该需要加入点什么以便使我回车之后后面的内容还能运行.
不知道究竟是不是这样呢?请各位大虾不吝赐教!
er,我刚学C语言,今天写了这么一段代码:
#include
void main(void)
{
int a,b,h,area;
int get_area(a,b,h);
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);
}
int get_area(int a,int b,int h)
{
return 1/2*(a+b)*h;
}
编译、连接的时候都没问题,但是在运行的时候,在显示了“请输入梯形的上底:”这句话,然后我随便输入了一个数字然后回车之后,就弹出了这样一个框框:
Debug Error!
Program:(我程序保存的地址)
Runtime Error
(Press retry to debugthe application)
哪儿错了呢?
我初步认为是,
在
printf("请输入梯形的上底:\n");
scanf("%f",&a);
和
printf("请输入梯形的下底:\n");
scanf("%f",&b);
这两段(以及下面的那一段)之间应该需要加入点什么以便使我回车之后后面的内容还能运行.
不知道究竟是不是这样呢?请各位大虾不吝赐教!
现在已经改好了,请看更改的地方:
#include
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的想法*/
}
#include
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的想法*/
}