发工资 C++

【题目描述】

财务处要给公司的n位员工发工资了,请你帮助计算最少要多少张人民币才能给每位员工发工资而不必找零呢?已知人民币的面额为100元,50元,10元,5元,2元和1元这6种。

【输入格式】

第一个值为正整数n,后面接着n个正整数表示n位员工的工资

【输出格式】

一行一个整数输出一共要准备的人民币张数。

【输入样例】

3 1 2 3

【输出样例】

4

主要是得知道是怎么算每个人的纸币数。就是一个一个往下算就行。

#include<iostream>
using namespace std;
int min(int in)
{
	int all = 0;
	if(in>=100)
	{
		all = in / 100;
		in = in - all * 100;
	}
	if(in>50)
	{
		all++;
		in = in - 50;
	}
	if (in > 10)
	{
		all = all + in / 10;
		in = in - (in / 10) * 10;
	}
	if (in > 5)
	{
		all++;
		in = in - 5;
	}
	if (in > 2)
	{
		all = all + in / 2;
		in = in - (in / 2)*2;
	}
	if(in==1)
	{
		all++;
	}
	return all;
}
int main()
{
	int n;
	cin >> n;
	//cout << n<<endl;
	int* salary = new int[n];
	for(int i=0;i<n;i++)
	{
		cin >> salary[i];
		//cout<< salary[i]<<endl;
	}
	int sum = 0;
	for(int j=0;j<n;j++)
	{
		//cout << min(salary[j]) << endl;;
		sum = sum + min(salary[j]);
	}
	cout << sum;

	
}```

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值