谁没有个发财梦?科学发财,C语言学起来!
故事还要从一个吃 蝙蝠的憨批说起,公元2020年春节初有某" 恶 " 人,,,此处省略n 万字
此刻本应该在学校的我还在家呆着,感觉这个年过的 太憋太闷。
无聊,没事干,就学习一点网课,复习一下之前的C语言,感觉之前学习的时候 还是有点粗心的。
#include <time.h>
time_t time(time_t *t);
功能:获取当前系统时间
参数:常设置为NULL
返回值:但钱时间 time_t 相当于 long 类型,单位是 毫秒ms
#include <stdlib.h>
void srand(unsigned int seed);
功能:用来设置rand() 产生随机数的随机种子
参数:如果每次 seed相等,rand()产生随机数相等
返回值:无
#include <stdlib.h>
int rand(void);
功能:返回一个随机数值
参数:无
返回值:随机数
普及一下双色球的小知识吧
- 开奖号码 是连着的7个号码,其中包括6个红球号码,1个蓝球号码,红球号码范围1-33,蓝球号码1-16
- 其中 红球彼此不能重复,蓝球和红球可重复
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <time.h> 4 5 // 双色球:6个红球(1-33) 1个蓝球(1-16) 6 // 问题:红色球不可以重复,蓝球 可以和红球重复 => 去重操作 7 8 int main() 9 { 10 int temp, isexist, arr[7]; 11 12 srand((unsigned int)time(NULL)); 13 // 生成号码 个数 14 int t = 10; 15 while (t--) 16 { 17 //随机抽号 18 for (int i = 0; i < 6; i++) 19 { 20 temp = rand() % 33 + 1; 21 isexist = 0; 22 for (int j = 0; j < i; j++) { 23 if (temp == arr[j]) { 24 isexist = 1; //重复 退出内层循环 25 break; 26 } 27 } 28 if (isexist) 29 i--; 30 else 31 arr[i] = temp; 32 } 33 arr[6] = rand() % 16 + 1; 34 //输出 35 printf("为您生成的双色球号: "); 36 for (int i = 0; i < 7; i++) 37 if (i == 6) 38 printf("+%02d", arr[i]); 39 else if(i == 5) 40 printf("%02d", arr[i]); 41 else 42 printf("%02d-", arr[i]); 43 printf("\n"); 44 } 45 system("pause"); 46 }
再来看一看可怜的中奖概率吧,也不能太天真,代码还是要老老实实敲:
- 一等奖:1/(33x32x31x30x29x28x16) = 1/12759183360? = 7.837492195111773e-11,也就是10亿人有0.7 个人中奖(计算不一定准确,是我的理解)
- . . .
理想太丰满,显示太骨感。
不怕天上掉馅饼没运气接,就怕被砸个啥好歹
原文地址:https://www.cnblogs.com/guoyujiang/p/12297480.html
时间: 2024-10-11 06:43:12