本题要求将输入的任意3个整数从小到大输出。_PTA「实验3-8 输出三角形面积和周长」...

68f1834887f49e463b4e45d6657ecb75.png

PTA是浙江大学设计类实验辅助教学平台。

5341e553e5dbf56d5285a8123e2015df.png

题目描述:

本题要求编写程序,根据输入的三角形的三条边 abc,计算并输出面积和周长。注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:

c1a17a5f000736738923b3750d4c01b4.png
其中 s=( a+ b+ c)/2。

输入格式:

输入为3个正整数,分别代表三角形的3条边abc

输出格式:

如果输入的边能构成一个三角形,则在一行内,按照

area = 面积; perimeter = 周长

的格式输出,保留两位小数。否则,输出

These sides do not correspond to a valid triangle

输入样例1:

5 5 3

输出样例1:

area = 7.15; perimeter = 13.00

输入样例2:

1 4 1

输出样例2:

These sides do not correspond to a valid triangle

6ad07ccee442d96e1e266f0e6a1e082e.png

编译器

C(gcc)

提交代码

#include <stdio.h>
#include <math.h>

int isTriangle(int a,int b,int c);

int main(){
    int a,b,c;
    float s,area,perimeter;
    scanf("%d %d %d",&a,&b,&c);
    if (isTriangle(a,b,c))
    {
        perimeter=a+b+c;
        s=perimeter/2.0; 
        area=sqrtf(s*(s-a)*(s-b)*(s-c));
        printf("area = %.2f; perimeter = %.2f",area,perimeter);
    }
    else
    {
        puts("These sides do not correspond to a valid triangle");
    }

    return 0;
}

int isTriangle(int a,int b,int c){
    int flag=0;
    if ((a+b)>c&&(a+c)>b&&(b+c)>a) flag=1;
    return flag;
}

提交结果

034d24255f87baf7b80c0228df27074d.png

a5e4d8aa7e6ccef57fc47b5b6f817bf7.png

版权声明:本文为weixin_39621427原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。