从零开始学编程

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 143|回复: 4

C语言抢红包的原理

[复制链接]
  • ta_mind
    擦汗
    2016-3-2 13:17
  • classn_01: 5 classn_02

    [LV.2]偶尔看看I

    602

    主题

    612

    帖子

    681

    积分

    高级会员

    Rank: 4

    积分
    681
    发表于 2016-10-19 00:36:32 | 显示全部楼层 |阅读模式
    [C] syntaxhighlighter_viewsource syntaxhighlighter_copycode
    //C语言-抢红包的原理
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    int main()
    {
    	float a[11];//保存10个红包金额
    	float total=100;//红包的总金额
    	int num=10;//分成10份
    	float min=0.01;//最小金额
    	int i;//循环获取红包的变量
    	float t;//平均值
    	float safe_total=0;//跳跃值
    	float sum=0;//累计取走的红包金额
    	float max=0;//运气王初始化为0
    	int f;//标记
    	srand(time(0));//随机种子 要与rand函数配合使用,每次执行的结果都不一样
    	
    	for(i=1;i<num;i++)
    	{
    		t=total/(10-i+1);//平均值 第一次是10元对吗?
    		safe_total=t*2;//跳跃值 第一个红色金额不会高于20元
    		a[i]=(rand()%(int)(safe_total*100)+(int)min*100)/100.0+0.01;
    		//乘以100除以100是为了保留小数点的值
    		total-=a[i];//累计发出的红包金额
    		sum+=a[i];//累计取走的红包金额
    		printf("第%d个红包有%0.2f元\n",i,a[i]);		
    	}
    	a[i]=total;//第10个红包
    	printf("第%d个红包有%0.2f元\n总金额有%0.2f元\n",i,a[i],sum+a[i]);
    	for(i=1;i<=num;i++)
    	{
    		if(a[i]>max)
    		{
    			max=a[i];
    			f=i;
    		}
    	}
    	printf("恭喜%d个红包获得运气王,金额%0.2f元\n",f,max);	
    	
    	return 0;
    }




    上一篇:C语言精简扫雷游戏原理
    下一篇:C语言之迷官代码+注释

    classn_11

    0

    主题

    18

    帖子

    20

    积分

    新手上路

    Rank: 1

    积分
    20
    发表于 2016-10-19 20:06:47 | 显示全部楼层
    也不见得吧!不能一杆子打死!
  • ta_mind

    2016-12-12 16:33
  • classn_01: 1 classn_02

    [LV.1]初来乍到

    0

    主题

    43

    帖子

    45

    积分

    新手上路

    Rank: 1

    积分
    45
    发表于 2016-12-12 16:44:01 | 显示全部楼层
    这个帖子不错,大家快来顶起来!
  • ta_mind

    2016-12-12 16:33
  • classn_01: 1 classn_02

    [LV.1]初来乍到

    0

    主题

    43

    帖子

    45

    积分

    新手上路

    Rank: 1

    积分
    45
    发表于 2016-12-12 16:44:31 | 显示全部楼层
    楼主太有才了,膜拜中……
  • ta_mind

    2016-12-12 16:33
  • classn_01: 1 classn_02

    [LV.1]初来乍到

    0

    主题

    43

    帖子

    45

    积分

    新手上路

    Rank: 1

    积分
    45
    发表于 2016-12-12 16:44:48 | 显示全部楼层
    楼主很专业,写得很好!
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Archiver|小黑屋|sitemap|从零开始学编程 ( 豫ICP备15032706号-2 )

    GMT+8, 2017-1-23 22:59 , Processed in 1.171912 second(s), 35 queries .

    Powered by Discuz! X3.2

    © 2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表