liuyawen44 2015-10-13 23:58 采纳率: 37.5%
浏览 1594
已采纳

怎么用递归解决ACM的发工资问题,求各位大神帮助

假设老师的工资都是正整数,单位元,人民币一共有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]);
    }

}

}
这是我自己写的递归代码,但关于函数里递归变量 我没有搞清楚。。请大神指正我的错误,谢谢了

  • 写回答

2条回答 默认 最新

  • lx624909677 2015-10-14 02:28
    关注
     #include <iostream>
    using namespace std;
    int main()
    {
        int n;
        while (cin >> n && n != 0)
        {
            int m[100]; // 开100
    
            for (int i = 0; i < n; i++)
            {
                cin >> m[i];
            }
            int sum [100]; // 开100
            int sar = 0;
            for (int j = 0; j < n; j++)
            {
                int a = 0,b = 0,c = 0,d = 0,e = 0,f = 0;
                a = m[j]/100;
                b = (m[j] - a*100)/50;
                c = (m[j] - a*100 - b*50)/10;
                d = (m[j] - a*100 - b*50 - c*10)/5;
                e = (m[j] - a*100 - b*50 - c*10 - d*5)/2;
                f = (m[j] - a*100 - b*50 - c*10 - d*5 - 2*e);
                sum[j] = a + b + c + d + e + f;
                sar += sum[j];
            }
            cout << sar << endl;
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿
  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决