用c语言做一个心算小游戏

有加减和乘法3种运算,由于除法涉及到浮点数存储有误差,所以比较难实现,改程序还有判定分数机制,根据难度给定合适的分数,随机抽取运算题目和符号。下面的代码适合Linux和安卓上的编译器,因为用了ANSI转义字符\033[3xm,其中x是0到7的数字表示颜色,如果电脑也想用那么只需删除这个即可。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
enum sig {ADD,SUB,MUL
};
int main()
{int C;int guess,a,b,res,score=0,sig=0,level,arr[4]= {700/C,1000/C,1600/C,2800/C};struct timeval start, end;char* sigstr[3]= {"+","-","×"};float pass_time;printf("测试心算能力,请所有运算都靠在脑海中完成,时间越快分值越高\n请输入题目数量(1道以上)");scanf("%d",&C);srand(time(0));for(int i=0; i<C; i++){sig=rand()%3;if(sig==DEV) {a=rand()%90+10;b=rand()%90+10;res=a*b;int moda=a%10,modb=b%10;if(a<20||b<20||moda==0||modb==0)//十位为1或是整十数视为简单level=2;else if(moda>4&&moda<9&&modb>4&&modb<9||a/10>6&&b/10>6)//数字比较大并且不整十level=4;else level=3;}else {a=rand()%9000+1000;b=rand()%9000+1000;if(sig==ADD)res=a+b;else res=a-b;level=1;}printf("\033[36m%d%s%d=",a,sigstr[sig],b);gettimeofday( &start, NULL );scanf("%d",&guess);gettimeofday( &end, NULL );pass_time=(end.tv_sec - start.tv_sec) + (end.tv_usec - start.tv_usec)/1000000.0;if(guess==res){printf("\033[32m答对了!,花费时间%.2f秒\n",pass_time);float tmp=arr[level]/pass_time;if(tmp>150/C)tmp=150/C;//如果单道题目用时太短导致分数过高那么取值为上限score+=tmp;}else printf("\033[31m错了,正确答案为%d,再接再厉\n",res,pass_time);}if(score>100)score=100;printf("你的分数为%d",score);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/686986.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SG5032EAN规格书

SG5032EAN 晶体振荡器结合了相位锁定环&#xff08;PLL&#xff09;技术和AT切割晶体单元&#xff0c;提供了73.5 MHz至700 MHz的广泛频率范围&#xff0c;以满足高速数字应用的需求。高性能的LV-PECL输出&#xff0c;2.5V和3.3V电源电压&#xff0c;可灵活适配不同设计的电源需…

layui表格中使用cascader后导致表格滚动条消失

修改前&#xff0c;受影响页面 修改后最终想要的效果 修改方法

《Go 简易速速上手小册》第8章:网络编程(2024 最新版)

文章目录 8.1 HTTP 客户端与服务端编程 - Go 语言的网络灯塔与探航船8.1.1 基础知识讲解服务端编程客户端编程 8.1.2 重点案例&#xff1a;简易博客服务服务端实现客户端实现运行示例 8.1.3 拓展案例 1&#xff1a;增加文章评论功能功能描述服务端实现客户端实现 8.1.4 拓展案例…

Python爬虫之Splash详解

爬虫专栏&#xff1a;http://t.csdnimg.cn/WfCSx Splash 的使用 Splash 是一个 JavaScript 渲染服务&#xff0c;是一个带有 HTTP API 的轻量级浏览器&#xff0c;同时它对接了 Python 中的 Twisted 和 QT 库。利用它&#xff0c;我们同样可以实现动态渲染页面的抓取。 1. 功…

sql常用语句小结

创建表&#xff1a; create table 表名&#xff08; 字段1 字段类型 【约束】【comment 字段1注释】&#xff0c; //【】里面的东西可以不用加上去 字段2 字段类型 【约束】【comment 字段2注释】 &#xff09;【comment 表注释】 约束&#xff1a;作用于表中字段上的规则…

【leetcode题解C++】455.分发饼干 and 376.摆动序列

455. 分发饼干 假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i]&#xff0c;这是能让孩子们满足胃口的饼干的最小尺寸&#xff1b;并且每块饼干 j&#xff0c;都…

2024开工记

从樊登的 《轻创业》到《纳尔瓦宝典》&#xff0c;到《如何找到想做的事》。2024 这个春节&#xff0c;心里总感觉有些焦虑&#xff0c;有些不知所措的迷茫。 有点像 2019 年从深圳来到杭州的那段时间。面对工作&#xff0c;面对未来有点不知所措&#xff0c;不知道要做什么&a…

【刷题1】LeetCode 131. 分割回文串 java题解

2024: 刚开始做leetcode hot100&#xff0c;查阅自己以前写的题解专栏&#xff0c;发现没有这一题&#xff0c;于是加上。可能leetcode100更新了吧。我看现在leetcode100官网的题目已经是分好类的了&#xff0c;以前我的题解帖子是自己手动分类整理的。 class Solution {List&…

代码随想录|day 18

Day 18 哎&#xff0c;日子越来越近了&#xff0c;干什么都干不下去&#xff0c;但又必须要坚持。前途渺茫… 一、理论学习 1)自己误打误撞的时候&#xff0c;学习函数 int partitionmax_element(nums.begin(),nums.end())-nums.begin();也记录一下我的错误做法&#xff0c…

【Anaconda】conda创建、删除、查看虚拟环境,安装pytorch

1.删除环境 首先退出现有的环境 conda deactivate然后查看要删除的环境名称与路径 conda env list接下来就可以删除环境了 有两种方法 方法1&#xff1a; conda env remove -p 要删除的虚拟环境路径对我来说就是&#xff1a; conda env remove -p D:\Anaconda3\envs\MVDet…

【Unity】【VR开发】针对VR项目的优化版Unity Build Settings

【背景】 编辑器中做了功能后,打包后却总会画面不满意,所以到处学习,总结成本篇,希望有用。 【准备】 本篇总结基于Unity 2021 LTS。 模板选择3D(URP) 如果URP不支持所用的部分Assets,那么也可以选择Built-in管线,不过URP肯定画面效果上要胜过Built-in。 HDRP不适用…

智能摄像头prv文件恢复案例

家用智能摄像头一般采用的是mp4或者mov视频方案&#xff0c;常见的是mp4&#xff0c;对于部分有开发能力的厂商可能会采用自定义方案&#xff08;如360的bin文件&#xff09;,今天我们来看一个小厂的PRV自定义文件的恢复案例。 故障存储: 32G TF卡/fat32/ 簇&#xff08;块)大…

没钱、没资源、没团队、没商业模式,该怎么创业成功?

很多人为什么要去创业呢&#xff1f;大多还是万般无奈去创业的。如果人人都有王思聪的条件&#xff0c;天台你享受岂不是最好&#xff1f;谁还愿意苦哈哈创业呢&#xff1f; 对于很多创业者而言&#xff0c;创业初期就是会面对没钱、没资源、没团队、没商业模式的窘境&#xff…

[python][whl]GDAL的python的whl文件下载地址

以下为GDAL所有windows x64版本的whl文件&#xff0c;其中命令规则为&#xff1a;以GDAL-3.4.3-cp38-cp38-win_amd64.whl为例子 GDAL&#xff1a;为模块名称 3.4.3&#xff1a;为GDAL版本号 cp38&#xff1a;表示支持python3.8版本&#xff0c;其他版本不支持 win_amd64&am…

vmware-17虚拟机安装教程及版本密钥(保姆级,包含图文讲解,不需注册账户)

文章目录 vmware安装教程一、下载vmware二、安装三、破解密匙 vmware安装教程 一、下载vmware 1.进入VMware官网&#xff1a;https://www.vmware.com/sg/products/workstation-pro.html 2.向下翻找到&#xff0c;如下界面并点击“现在安装” 3.稍事等待以下直到出现以下界面…

004 - Hugo, 分类

004 - Hugo, 分类content文件夹 004 - Hugo, 分类 content文件夹 ├─.obsidian ├─categories │ ├─Python │ └─Test ├─page │ ├─about │ ├─archives │ ├─links │ └─search └─post├─chinese-test├─emoji-support├─Git教程├─Hugo分类├─…

基于飞腾ARM+FPGA国产化计算模块联合解决方案

联合解决方案概述 随着特殊领域电子信息系统对自主创新需求的日益提升&#xff0c;需不断开展国产抗恶劣环境计算整机及模块产 品的研制和升级。特殊领域电子信息系统的自主创新&#xff0c;是指依靠自身技术手段和安全机制&#xff0c;实现信息系统从硬 件到软件的自主研发…

Linux系统——拓展LVM逻辑卷分区与磁盘配额

一、LVM逻辑卷分区 1.检测并确认新硬盘 1.1fdisk 查看或管理硬盘分区 fdisk -l&#xff08;小写的L&#xff09; &#xff08;硬盘设备&#xff09; 或 fdisk 硬盘设备 1.2实际操作 1.2.1fdisk查询结果详解 Device&#xff1a;分区的设备文件名称Boot&#xff1a;是否…

鸿蒙OS跨进程IPC与RPC通信

一、IPC与RPC通信概述 基本概念 IPC&#xff08;Inter-Process Communication&#xff09;与RPC&#xff08;Remote Procedure Call&#xff09;用于实现跨进程通信&#xff0c;不同的是前者使用Binder驱动&#xff0c;用于设备内的跨进程通信&#xff0c;后者使用软总线驱动…

Texas Instruments Websites

Texas Instruments Websites References Texas Instruments https://www.ti.com/ TI E2E Community https://e2e.ti.com/ TI E2E™ 中文设计支持论坛 https://e2echina.ti.com/ TI-pass Login https://entlogin.ti.com/idp/SSO.saml2 Texas Instruments GitHub https:…