题目:设计TVM(地铁自动售票机)机软件。

输入站数,计算费用,计费规则,6站2元,7-10站3元,11站以上为4元。 输入钱数,计算找零(找零时优先找回面额大的钞票),找零方式为各种面额张数,可识别 面额:100,50,20,10,5,1

/*************************************************************************
  > File Name:    demo04.c
  > Author:       徐四海
  > Description:地铁自动售票机
  > Created Time: 2025年02月11日 星期二 21时37分47秒
 ************************************************************************/

#include <stdio.h>
// 定义一个函数,表示应该找几张100,50,20,10,5,1
int change_money(int num_change){

    //定义变量分别存入我们需要的数值
    int num_hunder,num_fifty,num_twenty,num_ten,num_five,num_one;
    
    /* num_change:应找金额 num_hunder:找100的张数 num_fifty:找50的 
     *
     * num_twenty:找20 num_ten:找10 num_five:找5 num_one:找1  */
           
        printf("我们应该找回您:%d\n",num_change);
        //找回100的张数
        num_hunder = num_change/100;
        //判断是否需要找回50
        num_change = num_change%100;
        //找回50的
        num_fifty = num_change/50;
        //判断是否找回20
        num_change = num_change%50;
        //找回20的
        num_twenty = num_change/20;
        //判断是否找回10
        num_change = num_change%20;
        //找回10的
        num_ten = num_change/10;
        //判断是否找回5
        num_change = num_change%10;
        //找回5d
        num_five = num_change /5;
        //判断是否找回1
        num_change = num_change%5;
        //找回1的
        num_one = num_change /1;
        
        //输出我们需要找回多少钱和各个面额的张数
         printf("100:%d,50:%d,20:%d\n",num_hunder,num_fifty,num_twenty);
         printf("10:%d,5:%d,1:%d\n",num_ten,num_five,num_one);
}

int main(int argc,char *argv[])
{
    //定义变量分别存入我们需要的数值
    int station,money,my_money;
    /*station:几站  money:收入金额 my_money:应找金额 */

    //提醒用户输入钱数和走过的站点,并接收
    printf("请输入付了多少钱和站数\n");
    scanf("%d%d",&money,&station);

    //判断,6站以内
    if (station<=6)
    {
        my_money = money -2;      
        change_money(my_money);   
    }

    //7-10站
    else if (station>6&&station<=10)
    {
        my_money = money - 3;
        
        change_money(my_money);
    }

    //11站以上
    else if (station>=11)
    {
        my_money = money -4;
        
       change_money(my_money);
    }

    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值