%let a=1; %let b=1; %let c=1; data a; if &a le 0 or &b le 0 or &c le 0 or &a+&b le &c or &b+&c le &a or &a+&c le &b then; s=0; p=(&a+&b+&c)/2; s=sqrt(p*(p-&a)*(p-&b)*(p-&c)); put; run;闲来无事,这个是sas的,其中的abc之后等号的值可以任意替换,加进去一段语句,保证三个数字的值可以构成三角形
第2个回答 2011-06-01
#include <stdio.h> int main (void) { float a,b,c,s,area; printf("a,b,c:"); scanf("%f,%f,%f;"&a,&b,&c); s=0.5*(a+b+c); if(a+b>c&&a+c>b&&b+c>a) { area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("%f\n",area); } else return 0 }