假设老师的工资都是正整数,单位元,人民币一共有100元、50元、10元、5元、2元和1元六种。
Sample Input
3
1 2 3
0
Sample Output
4
#include
using namespace std;
int salary(int a)
{
static int sum=0;
if(a==0)
{
cout<
return sum;
}
if(a>=100)
{
sum+=a/100;
a=a%100;
return salary(a);
}
else if(a>=50)
{
sum+=a/50;
a=a%50;
return salary(a);
}
else if(a>=10)
{
sum+=a/10;
a=a%10;
return salary(a);
}
else if(a>=5)
{
sum+=a/5;
a=a%5;
return salary(a);
}
else if(a>=2)
{
sum+=a/2;
a=a%2;
return salary(a);
}
else
{
sum+=a;
cout<<sum<<endl;
return sum;
}
}
int main()
{
int m;
while(cin>>m)
{
if(m==0)
continue;
int sum=0;
int a[m];
for(int i=0; i<m; i++)
cin>>a[m];
for(int i=0; i<m; i++)
{
salary(a[i]);
}
}
}
这是我自己写的递归代码,但关于函数里递归变量 我没有搞清楚。。请大神指正我的错误,谢谢了