C语言红包生成程序示例:随机分配金额并屏幕输出
以下是一个使用C语言编写的红包示例程序:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void generateRedPacket(int num, float total_amount) {
srand(time(NULL));
float *red_packet = malloc(num * sizeof(float));
float sum = 0;
// 生成红包金额
for (int i = 0; i < num; i++) {
red_packet[i] = (rand() % 100 + 1) / 100.0 * total_amount / num;
sum += red_packet[i];
}
// 红包金额修正,保证总金额不变
for (int i = 0; i < num; i++) {
red_packet[i] = red_packet[i] / sum * total_amount;
}
// 输出红包金额
for (int i = 0; i < num; i++) {
printf('第 %d 个红包金额为:%.2f\n', i+1, red_packet[i]);
}
free(red_packet);
}
int main() {
int num;
float total_amount;
printf('请输入红包个数:');
scanf('%d', &num);
printf('请输入总金额:');
scanf('%f', &total_amount);
generateRedPacket(num, total_amount);
return 0;
}
此示例程序实现了一个简单的红包生成算法,用户可以输入红包个数和总金额。程序会根据输入的参数生成随机分配的红包金额,并输出到屏幕上。注意,此示例程序只是一个简单的演示,实际的红包算法可能更加复杂。
原文地址: https://www.cveoy.top/t/topic/pkpW 著作权归作者所有。请勿转载和采集!