将一个10进制数转化为任意进制数 猜拳小游戏
1.如何将一个10进制数,转化为2~16进制之间的数。且当数字>=10时,输出相对应的字母A~F
2.制作一个猜拳的小游戏
一、10进制转化为任意进制
1.首先知道进制的转化规则------可参考博主前几篇博客
2.只能转化2~16进制这个去别的数
3.只给他三次输入的机会,大于直接退出程序
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
#include<Windows.h>void swap(int m, int n) { //将十进制整数m 转化为n进制的数 m的范围时int型数据的范围 你的范围是2~16int num[33] = {0};int i = 0;char c[] = { 'A','B','C','D','E','F' }; // >=10时依次对应 字母A~Fwhile (m > 0) //得到n进制的每个位上的数{num[i] = m % n; /*if (num[i] >= 10) { //如果n进制位上的数字大于10,则输出相对应的字母printf("num[%d]:%c ", i , c[num[i] - 10]);}else //如果n进制位上的数小于10,则输出其本身printf("num[%d]:%d ", i, num[i]);*/ ++i;m /= n;}/*printf("\n");*/printf("其%d进制为: ",n);for (int j = i - 1; j >= 0; j--) { //一次性输出 m转化为n进制 后的结果if (num[j] >= 10) {printf("%c", c[num[j] - 10]);}elseprintf("%d", num[j]);}printf("\n");
}
int main() {int m; //输入的数int n; //要转化为几进制while (1){printf("请输入一个十进制的数:");scanf("%d", &m);/*if (m > 2147483647) {printf("你输入的数字越界,请检查后重新输入");Sleep(3000);exit(0);}*/int count = 0;do{ //输入n的值,直到n的范围不满足条件为止printf("请输入要转化2-16进制之间的任意整数:");scanf("%d", &n);count++;if (count >= 3) { //输入次数限制,超过三次自动退出程序printf("你已经输入错误3次了,将在三秒后关闭,请明日再试\n");Sleep(3000);exit(0);}} while (n > 16 || n < 2);swap(m, n);printf("转化成功\n\n");}return 0;
}
二、猜拳小游戏
1.设置时间种子,生成一个随机数--------对应系统的石头、剪刀、布
2.用户输入 石头、剪刀、布
3.比较用户与系统的拳,并判断分出胜负
代码如下:
#include<stdio.h>
#include<stdlib.h> //为了设置时间函数
#include<time.h> //为了设置时间种子
#define Rock 0 //石头
#define Sci 1 //剪刀
#define Pap 2 //布int main() {srand((unsigned)time(0));printf_s("\t\t\t\t\t*----------石头:0----------*\n");printf_s("\t\t\t\t\t**---------剪刀:1---------**\n");printf_s("\t\t\t\t\t***----------布:2---------***\n");int cur = -1;while (1){int sys = rand() % 3;/*printf_s("sys:%d\n", sys);*/printf_s("请输入你的拳(只能输入相对应的数字):");scanf_s("%d", &cur);if (cur < 0 || cur>2) {printf_s("你输入的数字有问题,请重新输入\n");break;}if ((cur == 0 && sys == 1) ||(cur == 1 && sys == 2) ||(cur == 2 && sys == 0)) {printf_s("你赢了\n");}else if ((cur == 0 && sys == 2) ||(cur == 1 && sys == 0) ||(cur == 2 && sys == 1)) {printf_s("你输了\n");}elseprintf_s("平局\n");/*printf_s("cur: %d sys: %d \n",cur,sys);*/printf_s("cur=%s ", cur == 0 ? "石头" : (cur == 1) ? "剪刀" : "布");printf_s("sys=%s\n", sys == 0 ? "石头" : (sys == 1) ? "剪刀" : "布");}return 0;}
总结:10进制数转化为任意进制的数,首先要熟悉进制是如何转化的,以及转化的步骤,了解这些,写一个类似于这种的小程序并不难。
猜拳游戏:重点在于生成系统的拳,并和自己输入的拳数比较
将一个10进制数转化为任意进制数 猜拳小游戏相关推荐
- 十进制数转化为任意进制数n,采用变量N、数组A[]进行存储两种算法实例
进制转化的核心代码为:(a 为输入的十进制数,n为需要转换的进制数,temp为变量进行存值) //先假设将a全部囤在个位数上,依次将a处理进行升位处理 temp = a %n; //利用求余公式,求出 ...
- 10进制小数转化为任意进制小数
将任意十进制正小数分别转换成2,3,4,5,6,7,8,9进制正小数,小数点后保留8位,并输出.例如:若十进制小数为0.795,则输出: 十进制正小数 0.795000 转换成 2 进制数为: 0.1 ...
- 对于十进制转化为任意进制数的简单算法分析
对于十进制转化为任意进制数的简单算法分析 基本思路: 对于十进制转任意进制,通常都是通过取余逆序排列法获得结果,举个简单例子10进制数1024 转2进制: 1024/2=512 余->0 512 ...
- python实现十进制转化为任意进制。
python实现十进制转化为任意进制(十六进制以内). 先看运行结果示例: 可以看出,只要是十六进制以内,无论是346789等不存在的进制,也能够进行转换. 上代码: import re list = ...
- 【iVX 初级工程师培训教程 10篇文拿证】03 事件及猜数字小游戏
目录 [iVX 初级工程师培训教程 10篇文拿证]01 了解 iVX 完成新年贺卡 [iVX 初级工程师培训教程 10篇文拿证]02 数值绑定及自适应网站制作 [iVX 初级工程师培训教程 10篇文拿 ...
- php 10进制位数保持,php 任意进制的数转换成10进制功能实例
/** * 任意进制的数转换成十进制 * @param * @arrange (512.笔记) jb51.cc * 显示转换数字所涉及的步骤 * 从任何基数(如八进制或十六进制)到基数10 * 请参阅 ...
- 10进制转2进制三种方法 +任意进制的相互转化(利用字符)
#include<stdio.h>int transfer(int x); //拆分二进制111为三个1:111=100+10+1 void MyBinary(int number); / ...
- 10进制转12进制,思考转任意进制
import java.util.ArrayList; import java.util.List; import java.util.Scanner; /* 本题case: input : 23 o ...
- 计算机进制的转换(任意进制)详解
进制的转换总是觉得很乱,不知道怎么去系统的去记住,今天我就用最简单的方法,将计算机进制的转换讲解明白. 一.任意进制转十进制 任意进制转十进制,我们采用的是按权展开法 任意进制转十进制,只需要修改底数 ...
最新文章
- ImageNet识别率一次提高1%:谷歌AI新突破引Jeff Dean点赞
- CORDIC算法——圆周系统之旋转模式
- springmvc 音频流输出_音频管理模块AudioDeviceModule解读
- 三、数据预处理——处理分类型数据:编码与哑变量
- 我的世界java1如何安装mod_《我的世界》【教程】如何安装MOD【PC】
- 苹果自研5G调制解调器将在2023年量产 采用台积电4nm工艺
- 填表法解“银行家算法”问题
- 也玩ASP.NET MVC 与 WebFroms 整合
- 剖析车联网的完美形态,机器人化还是智能交通?
- FastStone Capture 9.3 汉化绿色便携版 - 极品屏幕截图工具
- 某一个网站打不开,其它网站都能正常打开
- IT新人的辛酸反省与总结
- 张栋_机器学习的照片 - 微相册
- 【20保研】热忱欢迎全国2020届优秀本科毕业生免试攻读重庆大学研究生
- Robyn MMM2.0 - Facebook Marketing Science(R)市场营销-广告投放
- OVP电路应用(一)_12V电源_DIO1280
- 组织项目管理(PMP知识整理)
- 2. 输出2~100之间的素数
- 三万文字透视前瞻:区块链及隐私计算在传统企业中的技术认知与进阶思考
- 一起学时序分析之延迟与时钟偏斜和抖动