分享一道很有价值的题目。
题目:三角形
代码:
#include<stdio.h>
int main()
{
int n,i,j;
double a,b,c;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b>c && a+c>b && c+b>a)printf("YES
");
else printf("NO
");
}
return 0;
}
原来的代码:
#include<stdio.h>
int main()
{
int n,i,j;
double a,b,c;
//while(!=EOF)
//
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%lf%lf%lf",&a,&b,&c);
//if(i!=n)
//{
if(a+b>c && a+c>b && c+b>a)printf("YES
");
else printf("NO
");
//}
/*else
{
if(a+b>c && a+c>b && c+b>a)printf("YES");
else printf("NO");
}*/
}
//}
return 0;
}
从原始代码可以看到我尝试多遍。
一道非常简单的题目,找错找了半天,看到题目的第一眼惯性思维:abc都是整数。其实是double类型。
这种题目暗设陷阱,着实难防。要求自己细心谨慎的同时,没有练习这种题目也就没有这种与平常截然不同的思维方式。