#include <iostream>
using namespace std;
int sum100,sum50,sum20,sum10,sum5,sum1;
int main() {
int salary;
while (cin >> salary) { // 注意 while 处理多个 case
int n100,n50,n20,n10,n5,n1;
n100 = salary / 100;
n50 = (salary - n100 * 100) / 50;
n20 = (salary - n100 * 100 - n50 * 50 ) / 20;
n10 = (salary - n100 * 100 - n50 * 50 - n20 * 20) / 10;
n5 = (salary - n100 * 100 - n50 * 50 - n20 * 20 - n10 * 10) / 5;
n1 = (salary - n100 * 100 - n50 * 50 - n20 * 20 - n10 * 10 - n5 * 5);
sum100+=n100;sum50+=n50;sum20+=n20;sum10+=n10;sum5+=n5;sum1+=n1;
}
cout << "100:" << sum100 << ",50:" << sum50 << ",20:" << sum20 << ",10:" << sum10 << ",5:" << sum5 << ",1:" << sum1 <<endl;
}
// 64 位输出请用 printf("%lld")
int sum100,sum50,sum20,sum10,sum5,sum1;如果这个写在main函数里面,然后直接 sum100 += n100; 等,这时 sum100 初始值是未定义的(可能是任何值),所以后面累加后结果出现奇怪的大数、负数。

京公网安备 11010502036488号