为了账号安全,请及时绑定邮箱和手机立即绑定

我是初学者麻烦帮忙看看

题目描述

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

输入

在一行中顺序给出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 回答

#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


2 回复 有任何疑惑可以回复我~
#1

八岁女鬼 提问者

有个问题就是我把数据输入进去的时候,第一组的结果应该是16.80000而我的是16.790000
2016-02-19 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~
#1

八岁女鬼 提问者

谢谢了,我刚接触c眼看就要补考了
2016-02-19 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我是初学者麻烦帮忙看看

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信