原题链接:发工资咯
解题思路: 先把人民币的面值都定义出来,然后看题目是多组输入,所以就要用到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分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复