c语言高手来

来源:百度知道 编辑:UC知道 时间:2024/05/18 05:23:23
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入三角形的三条边a, b, c,如果能构成一个三角形,输出面积area和周长perimeter(保留2位小数);否则,输出“These sides do not correspond to a valid triangle”。
在一个三角形中,任意两边之和大于第三边。
三角形的面积计算公式:
aere*area = s(s-a)(s-b)(s-c)
其中:s = (a+b+c)/2
例:括号内是说明
输入
2 (repeat=2)
5 5 3
1 1 4
输出
area=7.15; perimeter=13.00
These sides do not correspond to a valid triangle

#include <stdio.h>
#include <math.h>
int main( )
{
int ri, repeat;
float a, b, c, area, perimeter, s;

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%f%f%f", &a, &b, &c);
s=(a+b+c)/2;
if(a+b>c&&a+c>b&&b+c>a){

area*area=s(s-a)(s-b)(s-c);
perimeter=a+b+c;
printf("%area=.2f;perimeter=%.2f",area,perimeter);
}
else
printf("These sides do no

#include <stdio.h>
#include <math.h>
int main( )
{
int ri, repeat;
float a, b, c, area, perimeter, s;

scanf("%d", &repeat);
for(ri=1; ri<=repeat; ri++){
scanf("%f%f%f", &a, &b, &c);
s=(a+b+c)/2;
if(a+b>c&&a+c>b&&b+c>a){

area=sqrt(s*(s-a)*(s-b)*(s-c)); ///少了*,area求法错了
perimeter=a+b+c;
printf("%area=%.2f;perimeter=%.2f\n",area,perimeter); ////少了%
}
else
printf("These sides do not correspond to a valid triangle\n");

}
}

area*area=s(s-a)(s-b)(s-c);
中间有星号
area*area不能直接赋值给表达式
k=area*area;
area=sqrt(k);

而且输出的时候f后面百分号呢

printf("%area=.2f;perimeter=%.2f",area,perimeter);

这里的错误area=%.2f

area*area=s(s-a)(s-b)(s-c);
area=sqrt(s(s-a)(s-b)(s-c))

area*area=s(s-a)(s-b)(s-c); 这个错了,左边不能进行计算