问答详情
源自:5-11 变量存储类别

我是初学者麻烦帮忙看看

题目描述

给定三条边长,检验它们能否构成三角形。(注:三角形要求两边之和大于第三边)

输入

在一行中顺序给出3条边的长度,[-100, 100]范围内的数字,即3个边长。

输出

若这3条边不能构成三角形,则在一行中输出“Impossible”;若可以,则在一行中输出该三角形的周长。

样例输入

Sample Input1:
4.5 5.5 6.8

Sample Input2:
1.0  9.5  6.6

样例输出

Sample Output1:
16.800000

Sample Output2:
Impossible

提示

printf("%f",l); 假设用l表示周长; printf("Impossible");

提问者:八岁女鬼 2016-02-19 11:07

个回答

  • 天地不仁_以_万物为刍狗
    2016-02-19 13:55:37
    已采纳

    #include<stdio.h>
    int main(){
    float i,j,k;
    printf("请输入三角形的三个边长Sample Output1:");
    scanf("%f,%f,%f",&i,&j,&k);
    if(i>j+k && j>i+k && k>i+j){
        printf("此三角形的周长为%f",i+j+k);
    }else{
         printf("Impossible");
         }
    }
    //看上面是两组边长,把代码用for循环一下就ok


  • 天地不仁_以_万物为刍狗
    2016-02-19 15:41:44

    不用纠结这个问题的,只要掌握了方法、思路就可以了,影响结果精度的因素取决于在定义变量时类型是float还是double类型,我在上面定义的时候是float单精度类型,如果你一定要输出一个16.800000的话把边长定义为double双精度类型的就可以了,祝学习愉快,哈哈