C语言程序设计(第四版) 第三章 课后题

1通过构造函数方法比较

#include<stdio.h>
int max(int x1,int x2);
int min(int y1,int y2);
int main(void){
    int a,b,c,sum,max1,min1;
    scanf("%d %d %d",&a,&b,&c);
    sum=a+b+c;
    max1=max(a,max(b,c));
    min1=min(a,min(b,c));
    printf("%d %d %d",min1,sum-min1-max1,max1);
    return 0;
}
int max(int x1,int x2){
    if(x1<=x2)
        x1=x2;
    return x1;
}
int min(int y1,int y2){
    if(y1>=y2)
        y1=y2;
    return y1;
}

2(仅支持符合题意的数据测试)

#include<stdio.h>
int main(void){
    double max,yes;
    scanf("%lf %lf",&max,&yes);
    if((yes-max)/max>0.5)
        printf("吊销驾照");
    else if((yes-max)/max>0.1)
        printf("罚款200");
    return 0;
}

3

#include<stdio.h>
int main(void){
    double l,wait,sum=0;
    scanf("%lf %lf",&l,&wait);
    if(l<=3){
        sum=10;
    }
    else if(l<=13){
        sum=10+(l-3)*2;
    }
    sum+=(int)((wait/5)*2);
    if((int)(sum*10)%110>=5){
        sum=(int)sum+1;
    }
    printf("%d",(int)sum);
    return 0;
}

4

#include<stdio.h>
int main(void){
    int n;
    scanf("%d",&n);
    n/=10;
    switch(n){
    case 10:
    case 9 :
        printf("A");
        break;
    
    case 8:
        printf("B");
        break;
    
    case 7:
        printf("C");
        break;
    
    case 6:
        printf("D");
        break;
    
    default:
        printf("E");
    }
    return 0;
}

5

#include<stdio.h>
#include<math.h>
int main(void){
    double area,s,l1,l2,l3,l,x1,x2,x3,y1,y2,y3;
    scanf("%lf %lf %lf %lf %lf %lf",&x1,&y2,&x2,&y2,&x3,&y3);
    l1=sqrt(pow(x2-x1,2)+pow(y2-y1,2));
    l2=sqrt(pow(x3-x1,2)+pow(y3-y1,2));
    l3=sqrt(pow(x2-x3,2)+pow(y2-y3,2));
    if((l1+l2>l3)&&(l2+l3>l1)&&(l1+l3>l2)){
        s=(l1+l2+l3)/2.0;
        l=l1+l2+l3;
        area=sqrt(s*(s-l1)*(s-l2)*(s-l3));
        printf("%.2f %.2f",l,area);
        
    }
    else printf("Impossible");
    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱读书的小胖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值