最最初级的程序大家帮我指出毛病。谢谢。QQ:13628198

z4b 2005-11-17 06:25:42
/*
*【例4.14】输入三角形的三边长,求三角形面积。
*

*/




#include <stdio.h>
#include <math.h>
int main()
{
float fSideA;
float fSideB;
float fSideC;
float fPerimeter;
double dArea;

scanf("%f,%f,%f", &fSideA, &fSideB, &fSideC);

fPerimeter = ( 1/2 ) * ( fSideA + fSideB + fSideC );
dArea = sqrt( fPerimeter * (fPerimeter-fSideA) * (fPerimeter-fSideB) * (fPerimeter-fSideC) );
printf("%7.2f, %7.2f, %7.2f\n", fSideA, fSideB, fSideC);
printf("%f \n",fPerimeter);
printf("the Area of Triangle is %7.2f \n", dArea);
return 0;
}

输入 3 4 5 怎么不出从对fSideB, fSideC传不进去值呢?谢谢。
...全文
111 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuwen19 2005-11-17
  • 打赏
  • 举报
回复
scanf("%f%f%f", &fSideA, &fSideB, &fSideC);
seabreeze9802 2005-11-17
  • 打赏
  • 举报
回复
因为输入的参数定义为要以逗号隔开。应输入
3,4,5

另外( 1/2 ) 的结果可是为零哦,所以无论你输入什么,三角形面积都为零。
SereinLi 2005-11-17
  • 打赏
  • 举报
回复
试试我改后的代码,自己琢磨把。

#include <stdio.h>
#include <math.h>
int main()
{
float fSideA;
float fSideB;
float fSideC;
float fPerimeter;
double dArea;

scanf("%f,%f,%f", &fSideA, &fSideB, &fSideC);
printf("fSideA = %7.2f, fSideB = %7.2f, fSideC = %7.2f\n", fSideA, fSideB, fSideC);
fPerimeter = ( 1.0/2 ) * ( fSideA + fSideB + fSideC );
printf("fPerimeter = %f \n",fPerimeter);
dArea = sqrt( fPerimeter * (fPerimeter-fSideA) * (fPerimeter-fSideB) * (fPerimeter-fSideC) );
printf("the Area of Triangle is %7.2f \n", dArea);
return 0;
}

70,022

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧