我正在试图创建一段代码,将一组金额的钱划分为他们最大的钞票组成部分.假设INPUT=1200,代码将打印"[2]500张钞票,[1]200张钞票".

然而,使用所述输入,代码将打印"[2]500张钞票,[2]100张钞票".如果我添加一个printf("%d",i);来查看在循环中i值是如何变化的,它是否以一种看似随机的方式执行;它还取决于给定的输入吗?为什么?! 我想不通为什么会发生这种事.

Code

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

int main()
{
    float Input;
    scanf("%f",&Input);
    int SizeBilletes[7] = {500,200,100,50,20,10,5};
    for(int i=0;i<7;i++){
        if(Input/SizeBilletes[i]>1){
            int a = floor(Input/SizeBilletes[i]);
            Input -= a*SizeBilletes[i];
            printf("[%d] en Billetes de %d\n",a,SizeBilletes[i]);
        }
    }
}

Important Notes:

  • 输入必须是浮点数,因为用户可能会添加一个不是整数的值(如美分或便士)
  • 如果不是循环,而是使用大量的if语句来单独计算每个大小,它就像一个咒语
  • 使用"input%=SizeBill[i]"会给我一个错误(这是一个关于discord社区的解决方案)
  • 我是very个新的编程,所以如果这是一个很简单的问题,提前道歉.

推荐答案

Input/SizeBilletes[i]>1替换为Input / SizeBilletes[i] >= 1

C++相关问答推荐

C中空终止符后面的数字?

C/C++中的状态库

数据包未从DPDK端口传输到内核端口

我应该如何解决我自己为iOS编译的xmlsec1库的问题?转换Ctx.first在xmlSecTransformCtxPrepare()之后为空

以下声明和定义之间的区别

我怎么才能用GCC编译一个c库,让它包含另一个库呢?

如何使用指向 struct 数组的指针并访问数组中特定索引处的 struct

X64:并发写入布尔数组

如何在CANbus RX/TX FIFO起始地址寄存器(ATSAME 51)的特定地址初始化数组?

如何计算打印二叉搜索树时每行所需的空间?

Cairo STM32MP1 cairo_Surface_WRITE_TO_PNG始终返回CAROLIO_STATUS_WRITE_ERROR

将回调/基于事件的C API转换为非回调API

如何对现有的双向循环链表进行排序?

当用C打印过多的';\n';时输出不正确

';malloc():损坏的顶部大小';分配超过20万整数后

C循环条件内的函数

free后内存泄漏?

使用邻接表创建图

我该如何处理这个 C 90 代码中的内存泄漏?

React Native Android C++ TurboModules 静态 C 库链接问题