当前位置:首页>java>【每日编程-42期】XM上机题(一)

【每日编程-42期】XM上机题(一)

  • 2026-08-25 17:26:32
【每日编程-42期】XM上机题(一)
厦门大学上机题(一)

每日编程中遇到任何疑问、意见、建议请公众号留言或加入每日编程群聊739635399

  微信发红包的问题,输入两个数m和n,分别表示要发的钱数以及红包总包数,然后输出每个人发到了多少钱。

输入格式:

红包的金额总数

人数

输出格式:

每个人抢到的金额

输入样例:

5.24

输出样例:

0.85 1.74 0.24 2.37
解决方法:

(1)算法的基本思想:

        主要用到的是rand()%m这个函数。做题过程中我们还要考虑是不是得保留两位小数,以及保证红包金额不为0等细节。

(2)代码实现:

#include<iostream>#include<cstdlib>#include<ctime>usingnamespacestd;intmain(void){double total_money;int n;cout << "请输入红包金额总数:" << endl;cin >> total_money;cout << "请输入人数:" << endl;cin >> n;double m[n];    srand((int)time(0));for(int i = 0; i < n-1; i++){   //分配第1到n-1个金额 double temp;do{//保证红包分配金额不会出现0             temp = rand()%(int)(total_money*100)*0.01;        }while(temp >= total_money || temp<=0);        total_money = total_money - temp;        m[i] = temp;    }    m[n-1] = total_money;cout << "每个人抢到的金额分别为:" << endl;for(int i = 0; i < n; i++){cout << m[i] << "\t";    }cout << endl;}
明日预告:厦门大学上机题(二)
        实现快速排序的变种。主要改进在于我们以往的pivot总是选第一个或最后一个,而这里需要我们选择的是随机的一个。

输入格式:

输入序列的长度

输入序列中的元素

输出格式:

排序后的结果

输入样例:

102 5 7 23 15 11 9 4 10 30

输出样例:

2 4 5 7 9 10 11 15 23 30

最新文章

随机文章