解题思路:        先把人民币的面值都定义出来,然后看题目是多组输入,所以就要用到while来输入多组

                      输入一个n表示人数,后面再输入n个人的工资,题目问的是 至少需要准备的人民币张数 

                      所以我们就要分别算发给每个人的工资 各需要多少张,这里建议打入一个函数单独算一个人工资要多少张人民币

                      最后加在一起就OK!!
注意事项:        注    意题目说n=0表示结束,所以在while输入那里我们还要判断n!=0!!!

参考代码:

#include<iostream>
using namespace std;
int a=1,b=2,c=5,d=10,x=50,y=100;
int q(int n)
{
	int i,sum=0;
	while(n>0)
	{
		if(n-y>=0)
		{
			n-=y;
			sum++;
		}
		else if(n-x>=0)
		{
			n-=x;
			sum++;
		}
		else if(n-d>=0)
		{
			n-=d;
			sum++;
		}
		else if(n-c>=0)
		{
			n-=y;
			sum++;
		}
		else if(n-b>=0)
		{
			n-=b;
			sum++;
		}
		else if(n-a>=0)
		{
			n-=a;
			sum++;
		}
	}
	return sum;
}
int main()
{
	
	int i,n,t[5]={0,0,0,0,0};
	int l[105],sum;
	while(cin>>n&&n!=0)
	{
		sum=0;
		for(i=0;i<n;i++)
		{
			cin>>l[i];
		}
		for(i=0;i<n;i++)
		{
			sum+=q(l[i]);
		}
		cout<<sum<<endl;
	}
	return 0;
}


点赞(0)
 

0.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论