《边学C语言边赚钱——简码编程入门教程》系列(2)

精华  
Admin Admin
发布:2017-11-08 23:00:41编辑:2017-11-09 09:18:54 分类:教程

        上一篇我们说过,要以“斗庄家赚元宝”为故事进行C语言的学习,这里我们先交待下游戏规则。

        猪八戒是庄家,每期从00000~99999中随机开出五位数,每天开1000期,有多种玩法,赔率统统是1.9,即是沙僧每注可以押下1个元宝,中了可以返奖2个元宝,每期扣去给唐僧的抽成10%保护费,实际上到手的是1.9个元宝,扣去成本1,纯赚0.9,如果挂了,就亏本1个元宝。白龙马负责记帐、收钱、分钱,孙悟空负责帮沙僧想策略赢利。游戏的过程是“1.猪八戒吆喝让大家下注->2.沙僧根据孙悟空的策略下注->3.猪八戒摇号开奖->4.白龙马记帐分钱”,如此往复。

        这样算来,每天1000期里面即使中了500期也是亏本的,亏在给唐僧抽成的10%保护费。那么至少要中多少期才能平本?这似乎是条数学题,我们尝试计算一下。

        设每天1000期里中了X期,挂了Y期,则 X*0.9-Y >= 0  时开始平本盈利,那么X和Y分别是多少?怎么办,初中学过代数,一个一个代入数值来算。先代入X等于500,不符合,然后501,502,503... ...直到X=527终于符合了,在1000期里,中527期,挂473期,盈利527*0.9=474.3,亏损473*1=473。所以孙猴子需要想出1000期里至少能赢527期的才有利可图,不然就会造成亏损。

        下面我们开始和孙猴子一起构思用C语言模拟这个游戏,根据统计和概率,把自己构思的各种策略用C语言模拟运行进行验证,看到底能不能最终得到一个能稳赚的策略。

        先用纸笔把游戏过程的思路伪代码写出来:

程序开始

//每天开奖1000期

循环开始(从第1期开始;1000次;每次期号递增1){

//1.猪八戒吆喝,让大家下注

//2.沙僧根据孙悟空的策略下注

//3.猪八戒摇号开奖

//4.白龙马记帐分钱,唐僧抽成

}

然后我们得找个C语言的开发工具,用C语言代码实现出来。用哪款C语言开发工具好呢?有很多可以选择,Visual Studio、Code::Blocks、CodeLite、VC++、CLion、Dev C++、Smart-C++、Aardio等都可以,在这里因为我们只是用于学习,所以得选择轻小的、易安装、易使用的,能把C代码跑起来就行,所以我们选择Smart-C++为主,Aardio为辅,将来我们要用C写DLL给Aaardio写的窗口程序调用,毕竟用C写窗口界面太麻烦了,而用Aaardio写窗口程序就非常简单。当然大家也可以选择你喜欢的、你用着顺手的开发工具,上面提到的都是很不错的。

下载地址:

Smart-C++1.2.5.174 (在Dev-C++ 5.3.0.2的基础上,针对程序设计竞赛大改,支持单文件调试,自带MinGW32编译器,自带基础知识和例程帮助文件,解压即用)  大小:23.1M

http://www.jianma123.com/download/Smart-C++1.2.5.174.7z  

(若下载不了可以进简码编程群389536006在群共享里下载)

Aardio (纯绿软,国产,无依赖,解压即用) 大小:5.6M    http://www.aardio.com/

然后大家把下面这段C语言代码复制粘贴进去运行一下看看效果:

#include  <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(){
//开奖10次的过程
void randomize(void); //初始化随机数发生器
for(int i=1;i<=100;i++){
//1.猪八戒吆喝,让大家下注
printf ("猪八戒:要发财的快来买啦 \n");

//2.沙僧根据孙悟空的策略下注
printf ("沙悟净:我要买个位%d \n",12345);

//3.猪八戒摇号开奖
printf ("猪八戒:开奖啦,第%d期 随机开奖号=%d%d%d%d%d \n",i,rand()%10,rand()%10,rand()%10,rand()%10,(rand()+1)%10);

//4.白龙马记帐分钱,唐僧抽成
printf ("白龙马:本期结算分钱 \n\n");

}
return 0;
}

上面只是一个预览大体框架的过程,只有随机开奖号功能实现了,其它的还只是占着位置还没写实际功能。这也是我写程序的一个经验,先整体,后局部,先把整体逻辑、流程写出来,再去填充具体的各个子功能。上面这段代码是怎么来的?每行又是什么意思?怎么去理解并记住 这些英文?请关注下一篇。

  • Admin Admin    
    Time:2017-11-09 09:28:46
    可以把上面的C源码放在aardio里面解析执行:
    code_c = /** //使C代码第一行位于文件第一行,这样就不需要计算错误信息的行号
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    int main(){

    //Aardio里跑要加这句打开控制台窗口
    io_reopen();

    //开奖10次的过程
    void randomize(void); //初始化随机数发生器
    for(int i=1;i<=100;i++){
    //1.猪八戒吆喝,让大家下注
    printf ("猪八戒:要发财的快来买啦 \n");

    //2.沙僧根据孙悟空的策略下注
    printf ("沙悟净:我要买个位%d \n",12345);

    //3.猪八戒摇号开奖
    printf ("猪八戒:开奖啦,第%d期 随机开奖号=%d%d%d%d%d \n",i,rand()%10,rand()%10,rand()%10,rand()%10,(rand()+1)%10);

    //4.白龙马记帐分钱,唐僧抽成
    printf ("白龙马:本期结算分钱 \n\n");

    }
    return 0;
    }
    **/


    import tcc;
    vm = tcc(); //创建TCC编译器
    vm.compile(code_c);//编译C源码

    //直接运行 main() 入口函数
    var ret = vm.run("測試命令參數","測試命令參數2","支持任意多個參數");
    io.print( ret )

    vm.close();

    execute("pause") //按任意键继续
    io.close();//关闭控制台
    注意这句:
    //Aardio里跑要加这句打开控制台窗口
    io_reopen();

[ 发单/接单 ]
换IP投票软件
PC蛋蛋自动挂机投注
新浪微博发微博显示尾巴的方法,比如显示来自iphone 7
百度文库批量自动上传软件
一点资讯app刷阅读量/评论/收藏/订阅功能/手机号注册
定做一个阿迪达斯官网注册器(需要破点击文字式验证码)
定制人人网自动注册/修改资料/采集/私聊软件
酷狗繁星直播网页协yi
YY多功能刷订阅刷粉丝
滑块验证码本地识别
[ 站内搜索 ]
[ 最近热帖 ]
Aardio快速开发网站程序从入门到进阶系列教程集合 9872
万能助手 -- 扩展库大全集 9639
电脑编程入门自学:Fiddler https 抓包时提示创建根证书不成功问题彻底解决(https插件dll方式) 7567
《边学C语言边赚钱——简码编程入门教程》系列集合 7358
我常用的aardio技巧 6881
[源码下载]简码视频加密解密播放工具个人版v1.0发布,永久免费开源的知识变现神器 6054
通过chrome.dll中间件控制外部chrome浏览器 4724
自学编程?3秒钟完成你的第一个Aardio桌面程序! 4316
电脑计算机编程入门教程自学:腾讯tx或极验geetest滑块按住拖动完成拼图验证成功破解思路及源码 3657
aardio调用nodejs的ws模块做一个简单的聊天通信示例 3649
用aardio创建web工程图文讲解(1) 3352
乐玩插件AARDIO调用 3231
万能助手入门帮助教程:学会科学地管理工作文件 2812
Aardio文本编辑框控件edit_返回父窗口对象和改变父窗口对象 2704
编程入门教程:aardio批量上传文件并显示进度条 2661
[ 近期热答 ]
aardio_从49个数字里选六个和值为150的不重复的数字 1
在嵌入wps的时候,多了一个 透明的边框,这个怎么消除它 1
万能助手入门帮助教程:学会科学地管理工作文件 1
Aaardio开发内嵌Electron浏览框放服务器上无法下载组件的解决办法 1
aardio内嵌Electron浏览框执行javaScript并获取返回值的解决办法实测有效 1
岁月如流水,静静的流,我是流水上一叶轻轻的扁舟 1
aardio键值对快速查找地名对应的数字 4
web.blink.form 打开网站后,总是无响应或停止工作,大红包求解决。 1
请教,在tab中打开网页,第二次打开报错怎么解决 1
万能助手在win7 64位安装出现问题,怎么解决? 1
请问如果修改网页源代码中找不到的文本 2
arrdio怎么连接mysql,并进行相关数据库操作? 3
dll导入出错 1
编程入门教程:aardio批量上传文件并显示进度条 1
万能助手入门帮助教程:自定义用户名 1