C语言循环习题

简介: 将一面额为10元倍数的整钱(面额为大于等于10,并小于等于100)换成1元、2元和5元的零钱组合(每种面值都要有)。输入要换的面额(如10元),输出所有可能的换法数量(如2种)。

 要写出本道题,首先要理解一个面额的纸币能分成多少种情况。

//将一面额为10元倍数的整钱(面额为大于等于10,并小于等于100)
//换成1元、2元和5元的零钱组合(每种面值都要有)。
//输入要换的面额(如10元),
//输出所有可能的换法数量(如2种)。
//要求按5,2,1从多到少输出
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
  int o = 1;//一元的面额
  int t = 1;//两元的面额
  int f = 1;//五元的面额
  int count = 0;//统计次数
  int sum = 0;//输入面额大小
  scanf("%d", &sum);
    if (sum >= 10 && sum <= 100)
    {
      for (o = 1; o <= sum; o++)//把一元放在最外面,意味着一元的是最后考虑的
      {
        for (t = 1; t <= sum; t++)
        {
          for (f = 1; f <= sum; f++)//把五元放在最外面,意味着五元的是最后考虑的
          {
            if (sum == o + 2 * t + 5 * f)
            {
              printf("%d %d %d\n", f, t, o);//若想按从少到多输出,可将一元纸币放在最里面先考虑
              count++;
            }
          }
        }
      }
      printf("count=%d", count);
    }
}
相关文章
|
8天前
|
C语言
C语言习题
该文主要讨论计算序列 Sn=a+aa+aaa+... 的问题,其中a是一个数字,最后一项包含n个a。对于n=1, 3, 7的情况,文章提供了两种分析方法。第一种方法通过观察得出 tₙ=tₙ∗10+2 和 Sₙ=Sₙ+tₙ,第二种方法利用公式 tₙ=2*(10^n−1)。每种方法都配合图像展示了计算过程和结果。最后,文章扩展到当a由键盘输入(a≤9)时如何求Sₙ,只需将a的初始值改为用户输入,并使用`scanf`函数读取。同样给出了示例结果。
15 0
|
4天前
|
算法 C语言 索引
C语言中的for循环:深入探索与实用技巧
C语言中的for循环:深入探索与实用技巧
9 1
|
4天前
|
C语言
C语言中如何避免循环死循环
C语言中如何避免循环死循环
10 1
|
4天前
|
C语言
c语言循环设计程序结构
c语言循环设计程序结构
8 0
|
6天前
|
存储 C语言
C语言for循环详解
C语言for循环详解
|
6天前
|
C语言
C语言中的循环控制结构与循环语句详解
C语言中的循环控制结构与循环语句详解
16 0
|
6天前
|
C语言
C语言中的条件控制循环:深入解析与实战应用
C语言中的条件控制循环:深入解析与实战应用
20 1
|
6天前
|
C语言
C语言条件控制循环的深入解析
C语言条件控制循环的深入解析
16 0
|
6天前
|
C语言
C语言计数控制循环的深入解析
C语言计数控制循环的深入解析
14 0
|
7天前
|
C语言
C语言分支与循环
C语言分支与循环