• 大小: 1KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-16
  • 语言: 其他
  • 标签: 小程序  

资源简介

我的自动选菜程序,不用每天不知道吃什么菜了

资源截图

代码片段和文件信息

#include 
#include 
#include 

struct t_food {
char name[128]; //食物名称
double  weight; //食物的权重
double  range_from; //分布在随机数取值范围的空间 从
double  range_to; //分布在随机数取值范围的空间 到
} food_list[128] = {
{“白菜“  1 0 0} 
{“茄子“  1 0 0} 
{“土豆“  1 0 0} 
{“红薯“  5 0 0} 
{“鸡蛋“  5 0 0} 
{““-1-1-1}
};

// 随机数分布范围是 [0-RAND_MAX]
// 每种食物的可能性为 1/(weight1+weight2+weight3+...+weightn) * 100%
int main(int argcchar**argv)
{
//算出所有食物的权重和
double totle_weight = 0;
for(int i=0;food_list[i].weight!=-1;i++){
totle_weight += food_list[i].weight;
}
printf(“totle weight : %4.4f\n“totle_weight);
//算出每个食物的分布区间
food_list[0].range_from = 0;
food_list[0].range_to = RAND_MAX*food_list[0].weight/totle_weight;
printf(“%s : from : %5.5f -> %5.5f\n“food_list[0].namefood_list[0].range_fromfood_list[0].range_to);
for(int i=1;food_list[i].weight!=-1;i++){
food_list[i].range_from = food_list[i-1].range_to;
food_list[i].range_to = food_list[i-1].range_to + RAND_MAX*food_list[i].weight/totle_weight;
printf(“%s : from : %5.5f -> %5.5f\n“food_list[i].namefood_list[i].range_fromfood_list[i].range_to);
}

//种一个随机数
srand(GetTickCount());
int r = rand();
int times = 1;
if( argc > 1 )
times = atoi(argv[1]);
for( int i=0 ; i {
//种一个随机数生成一个随机数
srand(r); r = rand();
printf(“today rand number : %d/%d\n“rRAND_MAX);
//查看落在哪个区间段
for(int i=0;food_list[i].weight!=-1;i++){
if( ( food_list[i].range_from <= r ) && ( r <= food_list[i].range_to ) )
printf(“今天的食物是 : %s\n“food_list[i].name );
}
}

return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1770  2010-01-19 15:46  autofood.cpp

     文件         80  2010-01-19 15:47  makefile

     文件        239  2010-01-19 15:53  readme.txt

----------- ---------  ---------- -----  ----

                 2089                    3


评论

共有 条评论