C语言实验分支结构练习及答案

(1) 设计程序计算下面函数的值。在这里插入图片描述

#include <stdio.h>
int main()
{
    float x,result;
    scanf("%f",&x);
    if(x*x-9==0)
        result=0;
    if(x*x-9>0)
        result=x*x;
    if(x*x-9<0)
        result=-x*x;
    printf("%f",result);
    return 0;
}

(2) 某地出租车的收费方法如下:起步价6元,最多行驶3km;超过3km将按1.8元/km计算。编写程序,输入行驶里程数,计算并输出车费。

#include <stdio.h>
int main()
{
    float x,cost;
    scanf("%f",&x);
    if(x<=3)
        cost=6;
    else
        cost=6+(x-3)*1.8;
    printf("%f",cost);
    return 0;
}

(3) 修改第(2)题。方案一:行驶里程中不足1km的按照1km计算,如6.3km按7km计算;方案二:付费时基于四舍五入的原则以元结算,如9.2元按9元结算、9.6元按10元结算。其他计算规则不变。

#include <stdio.h>
int main()
{
    float x,cost;
    scanf("%f",&x);
    if((x-(int)x)!=0)
        x=(int)x+1;
    if(x<=3)
        cost=6;
    else
        cost=6+(x-3)*1.8;
    printf("%.0f",cost);
    return 0;
}

(4) 在某物资管理系统中,某种物品的价值会随着时间m(月数)而降低。具体价值由折扣率决定,折扣率p计算公式为:
在这里插入图片描述

编写程序,输入某物品原始价值和已经经过的时间(月数),输出该物品现在的价值。

#include <stdio.h>
int main()
{
    float value,cost,p;
    int m;
    scanf("%f %d",&value,&m);
    if(m>=72)
        p=0.8;
    else if(m>=60)
        p=0.6;
    else if(m>=36)
        p=0.4;
    else if(m>=18)
        p=0.2;
    else if(m>=12)
        p=0.1;
    else if(m>=6)
        p=0.05;
    else
        p=0;
    cost=value*(1-p);
    printf("%f",cost);
    return 0;
}

(5) 假设四季的划分如下:3~5月份为春季,6~8月份为夏季,9~11月份为秋季,12~2月份为冬季。编写一个函数,输入年月日(格式为年-月-日),输出季节。例如,输入2020-3-16,输出“春季”。

#include <stdio.h>
int main()
{
    int year,month,day;
    scanf("%d-%d-%d",&year,&month,&day);
    switch(month){
        case 3:
        case 4:
        case 5:printf("春季");break;
        case 6:
        case 7:
        case 8:printf("夏季");break;
        case 9:
        case 10:
        case 11:printf("秋季");break;
        case 12:
        case 1:
        case 2:printf("冬季");break;
    }
        return 0;
}

(6) 四六级考试成绩对于后续报考考试有一定影响,其关系如下:
四级,考试成绩>= 425:可报考六级
四级,考试成绩>= 550:可报考口语考试
六级,考试成绩>= 520:可报考口语考试
编写程序,输入考试级别(4或6)和考试分数(0~710),根据以下不同情况进行输出:
四级小于425分,输出:差点就可以报考六级了。
六级小于520分,输出:差点就可以报考口语了。
其他情况,输出:可以报考六级(或者可以报考口语考试)。注意,如果四级大于550分,则要输出:可以报考六级和口语考试。
要求对输入数据的有效性进行判断,也就是说,如果输入的是无效数据,如考试级别输入3、考试分数输入750,则提示输入无效。

#include <stdio.h>
int main()
{
    int grade,mark;
    scanf("%d %d",&grade,&mark);
    if(grade==4){
        if(mark>710){
            printf("输入无效");
        }
        else if(mark>550){
            printf("可以报考六级和口语考试");
        }
        else if(mark>=425){
            printf("可以报考六级");
        }
        else if(mark>=0){
            printf("差点就可以报考六级了");
        }
        else{
            printf("输入无效");
        }
    }
    else if(grade==6){
        if(mark>710){
            printf("输入无效");
        }
        else if(mark>=520){
            printf("可以报考口语考试");
        }
        else if(mark>=0){
            printf("差点就可以报考口语了");
        }
        else{
            printf("输入无效");
        }
    }
    else{
        printf("输入无效");
    }
    return 0;
}

如有错误,欢迎指正

  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值