以下是一个使用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 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录