输入站数,计算费用,计费规则,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;
}