c语言:输入三个实数a,b,c,若能构成三角形,则输出三角形的面积!
来源:百度知道 编辑:UC知道 时间:2024/06/25 07:54:49
#include <stdio.h>
#include<math.h>
void main()
{double a,b,c,p,area;
printf("请输入三角形的三条边a,b,c:");
scanf("%f%f%f",&a,&b,&c);
if(c<b){p=c;c=b;b=p;}
if(c<a){p=a;a=c;c=p;}
if(b<a){p=b;b=a,b=p;}
if(a+b<=c)
{printf("错误,不能构成三角形\n");
return;}
}
p=(a+b+c)/2.0;
area=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形的面积= .2f\n",area);
}
这是中国铁道版的c上机练习指导里面的程序,即答案,可以输入此程序就是得不到那个结果,得出如下的错误信息:--------------------Configuration: 01 - Win32 Debug--------------------
Compiling...
01.cpp
F:\c++练习\01.cpp(4) : warning C4101: 'area' : unreferenced local variable
F:\c++练习\01.cpp(14) : error C2501: 'p' : missing storage-class or type specifiers
F:\c++练习\01.cpp(14) : error C2065: 'a' : undeclared identifier
F:\c++练习\01.cpp(14) : error C2065: 'b' : undeclared ident
#include<math.h>
void main()
{double a,b,c,p,area;
printf("请输入三角形的三条边a,b,c:");
scanf("%f%f%f",&a,&b,&c);
if(c<b){p=c;c=b;b=p;}
if(c<a){p=a;a=c;c=p;}
if(b<a){p=b;b=a,b=p;}
if(a+b<=c)
{printf("错误,不能构成三角形\n");
return;}
}
p=(a+b+c)/2.0;
area=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形的面积= .2f\n",area);
}
这是中国铁道版的c上机练习指导里面的程序,即答案,可以输入此程序就是得不到那个结果,得出如下的错误信息:--------------------Configuration: 01 - Win32 Debug--------------------
Compiling...
01.cpp
F:\c++练习\01.cpp(4) : warning C4101: 'area' : unreferenced local variable
F:\c++练习\01.cpp(14) : error C2501: 'p' : missing storage-class or type specifiers
F:\c++练习\01.cpp(14) : error C2065: 'a' : undeclared identifier
F:\c++练习\01.cpp(14) : error C2065: 'b' : undeclared ident
if(a+b<=c) 语句的地方,return后面多了一个 }
#include <stdio.h>
#include<math.h>
void main()
{double a,b,c,p,area;
printf("请输入三角形的三条边a,b,c:");
scanf("%f%f%f",&a,&b,&c);
if(c<b){p=c;c=b;b=p;}
if(c<a){p=a;a=c;c=p;}
if(b<a){p=b;b=a,b=p;}
if(a+b<=c)
{printf("错误,不能构成三角形\n");
return;}
p=(a+b+c)/2.0;
area=sqrt(p*(p-a)*(p-b)*(p-c));
printf("三角形的面积= .2f\n",area);
}
可能是你的程序放在路径F:\c++练习\……是非法路径的问题,有可能是不能包含中文名字或者++等字符。你把原程序复制到其他路径试下看,另外还有一个一楼指出的问题return后面多了一个 }
if(c<b){p=c;c=b;b=p;}
if(c<a){p=a;a=c;c=p;}
if(b<a){p=b;b=a,b=p;}
if(a+b<=c)
{printf("错误,不能构成三角形\n");
return;}
}
这段代码实在不敢恭维。。。
判断是不是三角形没这么复杂吧。
只要判断任意两边之和大于第三边,且之差小于第三边不就OK了?
if(a+b>c&&abs(a-b)<c)
printf("是三角形");
using namespace std;
int main()
{
C语言编写程序,输入a、b、c三个数,打印出最大者.
有关C语言的,编写一个C语言程序,输入a,b,c三个值,输出其中最大者
三个不同的实数a,b,c成等差数列,且a,b,c成等比数列,求a:b:c
用VB,任意输入三个实数a,b,c(用inputbox实现输入),求三个数中的最大数与最小数(用print语句实现输出)
用c语言编一个简单程序,题目:输入a,b,c三个值,输出其中最大值?
编一个输入A,B,C三个值,输出其中最大者(C语言)谁能帮我看看,谢谢了
输入a,b,c三个数,输出其中最大数
设a,b,c都为正实数,那么三个数a+1/b,b+1/c,c+1/a
c语言中 如何输入三个实数,输出其中绝对值最小的数
已知a,b,c为实数,且