|
![]() | 作者: 幻羽 [hymailto]
![]() |
登录 |
本帖由 [日月双星] 从 << 菜鸟乐园>> 转移而来各位大侠,小弟有一个问题请教。 这是我从书上抄的C代码。但运行结果总是不对,不知道是怎么回事。 #include "stdio.h" main() { float a=0,b=0,c=0; float area=0,s=0; printf("请输入三角形的三边a,b,c:"); scanf("%f%f%f",&a,&b,&c); if(a+b>c&&a+c>b&&b+c>a) { s=(a+b+c)/2.0; area=sqrt((s*(s-a)*(s-b)*(s-c)); printf("三角形面积area=%f",area); } } 比如我输入a=3,b=4,c=5很明显,结果应该是6 但运行后结果却是-32636.0000不知道是为什么。 |
地主 发表时间: 06-03-18 10:56 |
![]() | 回复: jhkdiy [jhkdiy] ![]() |
登录 |
根据你的输入格式 scanf("%f%f%f",&a,&b,&c); 你在输入的时候应该直接输入各边长,例如: C:\>456 4、5、6则代表3条边。 |
B1层 发表时间: 06-03-20 19:13 |
![]() | 回复: balsai [balsai] ![]() |
登录 |
只要各数据之间用空格隔开就可以了 |
B2层 发表时间: 06-03-20 23:15 |
![]() | 回复: sunwu [sunwu] ![]() |
登录 |
你好。替你找到了毛病所在。 你在程序中使用了sprt函数,而这个函数,在math.h中,你在程序包含中,未将此文件包含其中,所以会有错误的结果,你在文件头中加上一句 #include <math.h>即可。 你自己再试一下。 ![]() |
B3层 发表时间: 06-03-21 11:26 |
|
20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon
粤ICP备05087286号