第一个程序

  • 冒险岛上星强化简介

    • 成功率:成功星星+1,从11星开始失败则-1,最低为10星
    • 花费:每次强化所需的费用
    • 破坏率:从12-13开始会有爆炸率,装备爆炸则重新从12开始
  • 以下完全未优化的源代码以及包括各项数据
#include<stdio.h>
#include<time.h> //使用随机数需要引入的头文件/*上星程序
10-11
成功率50%
花费4448200
破坏率011-12
成功率45%
花费5625900
破坏率012-13
成功率40%
花费6982900
破坏率0.6%13-14
成功率35%
花费8529400
破坏率1.3%14-15
成功率30%
花费10275700
破坏率1.4%
*/int star = 10;
int tim = 0;
int cost = 0;int main(void)
{srand(time(NULL));while(star<15){switch (star){case 10:{int ran = rand() % 1000;printf("10:%d\n", ran);if(ran<500){star++;tim++;cost += 4448200;}else{tim++;cost += 4448200;printf("s10:%d\n", star);continue;}}case 11:{int ran = rand() % 1000;printf("11:%d\n", ran);if (ran < 450){star++;tim++;cost += 5625900;}else{tim++;cost += 5625900;star--;if (star <= 10)star = 10;printf("s11:%d\n", star);continue;}}case 12:{int ran = rand() % 1000;printf("12:%d\n", ran);if (ran <400){star++;tim++;cost += 6982900;}else if (ran > 983){star = 12;tim++;cost += 6982900;continue;}else{tim++;cost += 6982900;star--;if (star <= 10)star = 10;printf("s12:%d\n", star);continue;}}case 13:{int ran = rand() % 1000;printf("13:%d\n", ran);if (ran < 350){star++;tim++;cost += 8529400;}else if (ran > 986){star = 12;tim++;cost += 8529400;continue;}else{tim++;cost += 8529400;star--;if (star <= 10)star = 10;printf("s13:%d\n", star);continue;}}case 14:{int ran = rand() % 1000;printf("14:%d\n", ran);if (ran <300){star++;tim++;cost += 10275700;}else if (ran > 985){star = 12;tim++;cost += 10275700;continue;}else{tim++;cost += 10275700;star--;if (star <= 10)star = 10;printf("s14:%d\n", star);continue;}}}}printf("总次数:%d 总花费:%d", tim, cost);return 0;
}
  • 下面是我目前能尽量做的优化,是我学得太粗还是忘的太快?感觉还是一堆很烂的代码
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<time.h>
#include<stdlib.h>/*上星程序
10-11
成功率50%
花费4448200
破坏率011-12
成功率45%
花费5625900
破坏率012-13
成功率40%
花费6982900
破坏率0.6%13-14
成功率35%
花费8529400
破坏率1.3%14-15
成功率30%
花费10275700
破坏率1.4%
*///先声明定义一些全局变量
int a = 10;
int b = 0;
int c = 0;
int d = 0;int* star = &a;
int* tim = &b;
int* cost = &c;
int* ran = &d;//先定义一个自定义函数
int star_up(int succ, int boom,int cos)
{int ra = rand() % 1000;printf("        succ:%d boom:%d 本次花费:%d\n", succ, boom, cos);printf("star:%d rand:%d 次数:%d 已经花费:%d\n", *star,ra,*tim,*cost);if (ra < succ){*star+=1;*tim+=1;*cost += cos;return 1;}else if (ra > boom){*star = 12;*tim+=1;*cost += cos;return -1;}else{*tim+=1;*cost += cos;*star-=1;if (*star <= 10)*star = 10;return 0;}}int main(void)
{srand(time(NULL));while (*star < 15){switch (*star){case 10:{int ret = star_up(500, 1001,4448200);if (ret == 1)printf("succes\n");else if (ret == -1){printf("boom\n");continue;}else{printf("fail\n");continue;}}case 11:{int ret = star_up(450, 1001,5625900);if (ret == 1)printf("succes\n");else if (ret == -1){printf("boom\n");continue;}else{printf("fail\n");continue;}}case 12:{int ret = star_up(400, 994,6982900);if (ret == 1)printf("succes\n");else if (ret == -1){printf("boom\n");continue;}else{printf("fail\n");continue;}}case 13:{int ret = star_up(350, 987,8529400);if (ret == 1)printf("succes\n");else if (ret == -1){printf("boom\n");continue;}else{printf("fail\n");continue;}}case 14:{int ret=star_up(300, 984,10275700);if (ret == 1)printf("succes\n");else if (ret == -1){printf("boom\n");continue;}else{printf("fail\n");continue;}}}}printf("总次数:%d 总花费:%d", *tim, *cost);return 0;
}

我的第一个C程序:冒险岛上星相关推荐

  1. [转帖]一个老程序员的心理话(三)

    二.漫长的理论学习时期 1.从电脑培训班开始 我毕业后的第一个工作单位是一个非常差的企业,我在那儿见识了几乎所有中国差的企 业的弊端:人浮于事,拉帮结派,暗箭伤人,损公肥私--.可以想见,在这样的企业 ...

  2. 第一个spring程序

    第一个spring程序: 第一步:导入jar包. 新建maven项目: <dependency><groupId>org.springframework</groupId ...

  3. 快速搭建第一个Mybatis程序

    一.简介 1.初识Mybatis 2.持久化 3.持久层 4.为什么需要Mybatis 二.第一个Mybatis程序 1.搭建环境 2.创建一个新模块 3.编写代码 4.Junit测试 三.可能遇到的 ...

  4. Linux上运行一个c程序

    b站的视频链接:Linux虚拟机运行c程序_哔哩哔哩_bilibili希望对大家有所帮助,不对的地方还请多多指教!https://www.bilibili.com/video/BV18Q4y1r7st ...

  5. Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序

    文章目录 为什么要学习 go 开发环境搭建 -- MAC 运行第一个go程序 go 函数的返回值设置 go 函数的命令行参数 为什么要学习 go 在如下几个应用场景的需求下产生了go: 超大规模分布式 ...

  6. 用java实现一个计算器程序_1.2第一个java程序——hello world

    第一个java程序--hello world 实现一个java程序,主要有三个步骤:1.编写源代码,2.编译源代码,3.运行.java的源代码必须先编译,然后才能由JVM解析执行.所以我们程序员第一步 ...

  7. C(第一个C程序) 和 C++ (第一个C++程序)对比碰撞

    个人博客首页(点击查看详情) -- https://blog.51cto.com/11495268 1.简介 C++ 是对 C 的继承.扩展,但从语言角度来说,这是 两种变成语言,就一定存在不同,本文 ...

  8. 区块链c端应用小程序_区块链如何真正起作用? 我建立了一个应用程序向您展示。...

    区块链c端应用小程序 by Sean Han 通过肖恩·韩 区块链如何真正起作用? 我建立了一个应用程序向您展示. (How does blockchain really work? I built ...

  9. 如何开发属于自己的第一个Java程序

    学习java技术都是循序渐进的,搭建好了Java开发环境之后,下面就来学习一下如何开发Java程序.为了让初学者更好地完成第一个Java程序,接下来小编通过几个步骤进行逐一讲解. 1.编写Java源文 ...

最新文章

  1. Fragment 和 FragmentActivity的使用
  2. 神经网络反向传播算法
  3. 世界围棋人机大战、顶峰对决第一盘:围棋世界冠军Lee Sedol(李世石,围棋职业九段)对战Google DeepMind AlphaGo围棋程序,Google AlphaGo首战告捷
  4. 人工智能:第一章 绪 论
  5. maximo 自定义高级数据选择对话框(非表域实现)
  6. python组合数据类型实验_实验七 组合数据类型
  7. 交付铁三角的故事之兵戎相见
  8. 和平精英连接服务器未响应,和平精英触控失灵怎么回事 操作触屏有时候没反应介绍...
  9. compile php with openssl on mac osx error 填坑
  10. linux PS1 变量设置
  11. 下载网页 TS视频并自动合成视频
  12. DP算法——打家劫舍系列
  13. 计算机派位志愿填报技巧,小升初电脑派位操作流程详解
  14. 浅谈三极管、运放、MOS管驱动 的常见电路
  15. 即试即买丨帕克西首推假发自动售卖机,3D发型试戴变革假发购物体验!
  16. rtmp/rtsp测试地址 2019/11/22日亲测可用
  17. 未来计算机 军事,【军事科技】未来我国将建成和发明最具影响力的八大军事科技!...
  18. oracle mapviewer 11g安装使用,Oracle MapViewer11g安装与部署
  19. Race_Condition实验
  20. java 熔断器模式_Spring Cloud Hystrix——熔断器

热门文章

  1. 一道杨氏矩阵题目 201806
  2. Verilog语言 消抖电路
  3. 产业互联网未来十大趋势
  4. Sphinx安装流程及配合PHP使用经验
  5. 飞机大战部分算法,思维解析,附有源代码.
  6. C语言开发 天天酷跑 用到的 graphics.h
  7. Vue的生命周期(Vue实例产生过程)
  8. [mark] 年底要读的几本书
  9. 理解C语言中的sizeof操作符
  10. 【电子学会】2021年03月图形化三级 -- 小鸡吃虫