原题链接:发工资咯
解题思路: 先把人民币的面值都定义出来,然后看题目是多组输入,所以就要用到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、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复