C语言程序设计(第三版)何钦铭著 习题4-5

C语言程序设计(第三版)何钦铭著 习题4-5

习题一览表
1. C语言程序设计(第三版)何钦铭著 习题2-1
2.C语言程序设计(第三版)何钦铭著 习题2-2
3.C语言程序设计(第三版)何钦铭著 习题2-3
4.C语言程序设计(第三版)何钦铭著 习题2-4
5.C语言程序设计(第三版)何钦铭著 习题2-5
6.C语言程序设计(第三版)何钦铭著 习题2-6
7.C语言程序设计(第三版)何钦铭著 习题3-1
8.C语言程序设计(第三版)何钦铭著 习题3-2
9.C语言程序设计(第三版)何钦铭著 习题3-3
10.C语言程序设计(第三版)何钦铭著 习题3-4
11.C语言程序设计(第三版)何钦铭著 习题3-5
12.C语言程序设计(第三版)何钦铭著 习题4-1
13.C语言程序设计(第三版)何钦铭著 习题4-2
14.C语言程序设计(第三版)何钦铭著 习题4-3
15.C语言程序设计(第三版)何钦铭著 习题4-4


题目

换硬币。将一笔零钱(大于8分,小于1元,精确到分)
换成5分、2分和1分的硬币,每种硬币至少有一枚。
输入金额,问有几种换法?
针对每一种换法,输出各种面额硬币的数量和硬币的总数量。试编写相应程序。


分析过程

输入

条件:输入金额(大于8分,小于1元,精确到分)

输出

条件:输出各种面额硬币的数量和硬币的总数量

代码

#include <stdio.h>
#include <math.h>

int main () {
    
    
	/*定义变量*/
	int money;                                                                  /*定义变量,存储输入的金额*/
	/*赋值*/
	printf("请输入金额:\n");                                                   	/*输入提示*/
	scanf("%d \n", &money);                                                     /*输入并赋给变量*/
    /*计算*/
    for(int i=1 ; i<=money/5 ; i++){
    
                                                /*假设5分有一个,开始循环*/
        for(int j=1 ; j<= money/2 ;j++ ){
    
                                           /*假设2分有一个,开始循环*/
            for (int k = 1; k < money; k++) {
    
                                       /*假设1分有一个,开始循环*/
                if(5*i+2*j+k == money)/*判断5分、2分、1分为当前数量所等价的数额与输入的数额是否相等,若相等,则输出*/
                    printf("5分、2分、1分的数量为%d、%d、%d,总数量为%d \n", i, j, k, i+j+k);
            }
        }
    }
    
	return 0;
}

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43228814/article/details/112356583