要求: 1键盘输入红包总金额和红包个数,程序产生随机红包; 2将总金额、红包个数、所有的随机红包都保存到文件red_packet.txt中。C语言代码怎么写
时间: 2024-11-18 12:19:13 浏览: 18
python生成随机红包的实例写法
要在C语言中编写这个程序,首先需要包含一些必要的头文件,并使用`stdio.h`, `stdlib.h`, 和 `time.h` 来处理输入、生成随机数以及文件操作。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_RED_PACKET 100 // 红包最大个数
#define MIN_RED_PACKET 1 // 红包最小个数
#define RED PACKET_VALUE 50 // 每个红包的默认最小值
// 生成指定范围内的随机整数
int generate_random(int min, int max) {
return (rand() % (max - min + 1)) + min;
}
int main() {
srand(time(0)); // 设置随机数种子,保证每次运行结果不同
// 输入总金额和红包个数
int total_amount, num_packets;
printf("请输入红包总金额(整数): ");
scanf("%d", &total_amount);
printf("请输入红包个数: ");
scanf("%d", &num_packets);
// 验证输入是否合理
if (num_packets < MIN_RED_PACKET || num_packets > MAX_RED_PACKET) {
printf("红包个数超出范围,请重新输入。\n");
return 1;
}
FILE *fp; // 文件指针
fp = fopen("red_packet.txt", "w"); // 打开文件进行写入
// 生成并保存红包信息
for (int i = 0; i < num_packets; i++) {
int random_value = generate_random(RED_PACKET_VALUE, total_amount);
fprintf(fp, "红包%d: %.2f元\n", i+1, (double)random_value);
total_amount -= random_value; // 更新剩余总金额
}
// 保存总金额和红包总数到文件
fprintf(fp, "\n总共红包%d个,总金额%.2f元\n", num_packets, total_amount);
fclose(fp); // 关闭文件
printf("红包信息已保存至red_packet.txt\n");
return 0;
}
```
在这个程序中,用户输入红包总金额和个数,然后根据这两个值生成指定数量的随机红包,并将所有红包及其金额写入`red_packet.txt`文件中。
阅读全文