/*
白盒测试:对每条语句,每个分支进行测试,用于测试的早期。
黑盒测试:对每个功能进行测试,不一定覆盖每条语句,用于测试的晚期。
*/
//三角形的判断
#include<stdio.h>
#include<math.h>
#define ESP 1e-1
int main()
{
float a,b,c;
int flag=1;
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
if(a-b<=ESP&&a-c<=ESP&&b-c<=ESP)
{
printf("等边");//一定先判断等边,然后再判读等腰。
flag=0;
}
else
{
if(a-b<=ESP||b-c<=ESP||a-c<=ESP)
{
printf("等腰");
flag=0;
}
}
if(fabs((a*a-b*b-c*c)<=ESP)||
fabs((a*a-b*b-c*c)<=ESP)||
fabs((a*a-b*b-c*c)<=ESP))
{
printf("直角");
flag=0;
}
if(flag==1)
{
printf("一般");
}
printf("三角形!\n");
}
else
{
printf("不是三角形!\n");
}
}
//将百分制成绩改成5分制成绩
#include<stdio.h>
int main()
{
int score,mark;
scanf("%d",&score);
mark=score>100||score<0?-1:score/10;//注意临界值的判断
switch(mark)
{
case 10:
case 9:
printf("%d->A\n",score);
break;
case 8:
printf("%d->B\n",score);
break;
case 7:
printf("%d->C\n",score);
break;
case 6:
printf("%d->D\n",score);
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
printf("%d->E\n",score);
break;
default:
printf("error!");
}
}
//计算输出两个整数的最大值
#include<stdio.h>
int main()
{
int a,b,max,ret;
ret=scanf("%d%d",&a,&b);
if(ret!=2)
{
printf("error!");
fflush(stdin);
}
else
{
max=a>b?a:b;
printf("max=%d\n",&max);
}
}