#include<stdio.h>
#include<math.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.2g,b=%7.2g,c=%7.2g,s=%7.2g\n",a,b,c,s);
printf("area = %7.2f\n",area);
}
提示:
Linking...
02.obj : error LNK2005: _main already defined in vter.obj
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/active.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.
不知道哪里出问题了。求大神帮忙
#include<stdio.h>
#include<math.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.2g,b=%7.2g,c=%7.2g,s=%7.2g\n",a,b,c,s);
printf("area = %7.2f\n",area);
}
我在Linux系统下帮你调试了一下,存在两个问题
double 类型的输入,最好用%lf。
scanf("%lf,%lf,%lf",&a,&b,&c);
这个问题就是你的链接问题,sqrt函数内的值(s*(s-a)*(s-b)*(s-c))不能保证是正值。因此会报错。
还有一个问题呢,就是编码风格的问题,即使main的函数类型为void,也要写上返回值return;华为一直这么要求我们。
加油,祝好运……