5.2扩充内容

/*
白盒测试:对每条语句,每个分支进行测试,用于测试的早期。
黑盒测试:对每个功能进行测试,不一定覆盖每条语句,用于测试的晚期。
*/
//三角形的判断
#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);
    }
}
发布了34 篇原创文章 · 获赞 2 · 访问量 477

猜你喜欢

转载自blog.csdn.net/qq_42148307/article/details/104789335
5.2