c语言的问题,大侠来看看啊

来源:百度知道 编辑:UC知道 时间:2024/06/22 02:14:14
#include <math.h>
#include <stdio.h>
void main()
{
double a,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);
printf("area=%7.2f\n",area);
}

这个在vs2005下编译,一直出错,提示信息为:
试图匹配参数列表“(int)”时
1>second work.cpp
1>c:\documents and settings\administrator\桌面\新建文件夹\c pro\frist work\second work.cpp(6) : warning C4996: “scanf”被声明为否决的
1> e:\tools\visualstudio2005\vc\include\stdio.h(295) : 参见“scanf”的声明
1>正在生成代码...
1>Build log was saved at "file://c:\Documents and Settings\Administrator\桌面\新建文件夹\c pro\frist work\Debug\BuildLog.htm"
1>frist work - 1 error(s), 2 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skippe

double a,b,c,s,area;
改成float a,b,c,s,area;

不好说

输入和输出格式%f改为%lf

#include <stdio.h>
#include <math.h>

void main()
{
double a,b,c,s,area;
scanf("%lf,%lf,%lf",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);
printf("area=%7.2f\n",area);
}
这个去试试,

你求面积怎么都不判断三角形是不是存在啊

double 改为 float 就行了
我已经在visual c++上运行过了