#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,p,s,R;
char ch[]="error";
printf("a,b,c=");
scanf("%f,%f,%f",&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
R=a+b>c&&a+c>b&&b+c>a&&a>0&&b>0&&c>0?s:ch;//ch是char型 ,R接收的是float型
printf("R=%f\n",R);
}
按照你的想法:
#include<stdio.h>
#include<math.h>
void main()
{
int R;
float a,b,c,p;
double s;
printf("a,b,c=");
scanf("%f%f%f",&a,&b,&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
R=a+b>c&&a+c>b&&b+c>a&&a>0&&b>0&&c>0?0:1;
switch(R)
{
case 0:
printf("s=%f\n",s);
break;
default :
printf("error\n");
}
}