C语言初级练习题if篇02

判断三角形种类

  • 输入三个边的长度,判断输入三角形的类型

初始代码

#include <stdio.h>
int main(){
	int s1,s2,s3;
	printf("请输入三角形三边长度:");
	scanf("%d%d%d",&s1,&s2,&s3);
	if(s1 ==s2 && s2==s3){
		printf("输入为正三角形");
	}
	if(s1 ==s2 || s2==s3 || s1==s3){
		printf("输入为等腰三角形");
	}
	if(s1*s1+s2*s2==s3*s3 || 
		s1*s1+s3*s3==s2*s2 ||
		s2*s2+s3*s3==s1*s1){
		printf("输入为直角三角形");
	}
	return 0;
}

  • 上面代码是有问题的,主要是当第一次输入是等边三角形时它会判断两次,因此if的顺序是影响输出结果的,条件1和条件和有点互斥。
#include <stdio.h>
int main(){
	int s1,s2,s3;
	printf("请输入三角形三边长度:");
	scanf("%d%d%d",&s1,&s2,&s3);

	if(s1 ==s2 || s2==s3 || s1==s3){
		printf("输入为等腰三角形");
	}
	
	if(s1 ==s2 && s2==s3){
		printf("输入为正三角形");
	}
	if(s1*s1+s2*s2==s3*s3 || 
		s1*s1+s3*s3==s2*s2 ||
		s2*s2+s3*s3==s1*s1){
		printf("输入为直角三角形");
	}
	return 0;
}

优化

#include <stdio.h>
int main(){
	int s1,s2,s3;
	printf("请输入三角形三边长度:");
	scanf("%d%d%d",&s1,&s2,&s3);
	
	//如果对输入的数字进行排序就会大大提高阅读性 
	//这里就先不加了思想就是这样 

	if(s1 ==s2 || s2==s3){
		printf("输入为等腰三角形");
	}
	
	if(s1 ==s3){
		printf("输入为正三角形");
	}
	if(s1*s1+s2*s2==s3*s3){
		printf("输入为直角三角形");
	}
	return 0;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值