c++ - 纸币和硬币我不接受解决方案 Uri Judge
问题描述
我有一个问题,但我不明白它是什么,因为我自己做了测试,它正确地显示了我的结果,非常小和大,我也没有小数减法的问题。你能告诉我我哪里失败了,所以我可以解决它吗?
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double notes[] = { 100, 50, 20, 10, 5, 2, 1, 0.5, 0.25, 0.10, 0.05, 0.01 };
int my_notes[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
bool coins = true;
int i = 0;
double money;
cin >> money;
money *= 100; // To avoid subtraction of decimals
cout << fixed << setprecision( 2 );
cout << "NOTAS:" << endl;
while ( i < 12 ) {
if ( money - ( notes[ i ] * 100 ) >= 0.00 ) {
money -= ( notes[ i ] * 100 );
my_notes[ i ] += 1;
} else {
if ( i < 6 ) {
cout << my_notes[ i ] << " nota(s) de R$ " << notes[ i ] << endl;
}
else {
if ( coins ) {
cout << "MOEDAS:" << endl;
coins = false;
}
cout << my_notes[ i ] << " moeda(s) de R$ " << notes[ i ] << endl;
}
i += 1;
}
}
return 0;
}
输入:
888.88
输出:
NOTAS:
8 nota(s) de R$ 100.00
1 nota(s) de R$ 50.00
1 nota(s) de R$ 20.00
1 nota(s) de R$ 10.00
1 nota(s) de R$ 5.00
1 nota(s) de R$ 2.00
MOEDAS:
1 moeda(s) de R$ 1.00
1 moeda(s) de R$ 0.50
1 moeda(s) de R$ 0.25
1 moeda(s) de R$ 0.10
0 moeda(s) de R$ 0.05
3 moeda(s) de R$ 0.01
输入:
576.73
输出:
NOTAS:
5 nota(s) de R$ 100.00
1 nota(s) de R$ 50.00
1 nota(s) de R$ 20.00
0 nota(s) de R$ 10.00
1 nota(s) de R$ 5.00
0 nota(s) de R$ 2.00
MOEDAS:
1 moeda(s) de R$ 1.00
1 moeda(s) de R$ 0.50
0 moeda(s) de R$ 0.25
2 moeda(s) de R$ 0.10
0 moeda(s) de R$ 0.05
3 moeda(s) de R$ 0.01
捕获所需的输出:
问题链接:
https://www.urionlinejudge.com.br/judge/en/problems/view/1021
解决方案
推荐阅读
- c# - c# 从远程 XML 文件动态添加正则表达式模式
- sql - 在 spark sql 中的语句时使用选择查询的替代方法
- extjs - 如何在字段集 ExtJS 中更改颜色选择的宽度
- sql - 如何插入新列并保持所有现有查询不变
- angular - 从一个模块组件到另一个模块组件的 Angular 5 导航
- linux - 在 linux 上打开 virtualbox 时加载 libqxcb.so 库失败
- jinja2 - Jinja2 / Nunjucks:对 for 循环元素的不同处理
- karate - 需要一种方法为所有 api 请求设置全局标头(此标头由功能文件返回)
- looker - 是否可以使用现有度量创建新度量?
- c++ - Windows 故障转移群集中的 Win32 时间差异计算