我是初学者麻烦帮忙看看

来源:5-11 变量存储类别

八岁女鬼

2016-02-19 11:07

题目描述

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

输入

在一行中顺序给出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");

写回答 关注

2回答

  • 天地不仁_以_万物为刍狗
    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


    八岁女鬼

    有个问题就是我把数据输入进去的时候,第一组的结果应该是16.80000而我的是16.790000

    2016-02-19 15:23:26

    共 1 条回复 >

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

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

    八岁女鬼

    谢谢了,我刚接触c眼看就要补考了

    2016-02-19 17:09:30

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926026 学习 · 20793 问题

查看课程

相似问题