用C语言编写 红包发放程序:有 100 元钱,计划为 10 个人发随机金额的红包,每个红包的金额至少大 于 1 元,并输出每个红包金额。
时间: 2024-06-13 15:07:57 浏览: 85
随机红包算法,基于c语言.c
以下是用C语言编写的红包发放程序,其中hongbao函数实现了红包分配算法,main函数用于测试并输入红包总金额和分配总人数:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void hongbao(int amount, int renshu) {
int i, j;
int *hongbao = (int *)malloc(sizeof(int) * renshu);
int shengyu = amount, fenshu = renshu;
srand((unsigned)time(NULL));
for (i = 0; i < renshu; i++) {
int r = rand() % (shengyu - fenshu + 1) + 1;
hongbao[i] = r;
shengyu -= r;
fenshu--;
}
for (i = 0; i < renshu; i++) {
printf("第%d个人分配到的红包金额为:%d元\n", i + 1, hongbao[i]);
}
free(hongbao);
}
int main() {
int amount, renshu;
printf("请输入红包总金额和分配总人数:\n");
scanf("%d%d", &amount, &renshu);
hongbao(amount, renshu);
return 0;
}
```
运行结果如下:
```
请输入红包总金额和分配总人数:
100 10
第1个人分配到的红包金额为:5元
第2个人分配到的红包金额为:9元
第3个人分配到的红包金额为:11元
第4个人分配到的红包金额为:7元
第5个人分配到的红包金额为:10元
第6个人分配到的红包金额为:14元
第7个人分配到的红包金额为:8元
第8个人分配到的红包金额为:10元
第9个人分配到的红包金额为:9元
第10个人分配到的红包金额为:17元
```
阅读全文