首页 > 其他分享 >课堂测试

课堂测试

时间:2023-09-18 18:35:23浏览次数:32  
标签:cout int randomNum3 randomNum2 randomNum1 generatedNumbers 测试 课堂

#include <iostream>
#include <random>
#include <time.h>
#include <set>

using namespace std;

double f1(double a)
{
return a / 30;
}

int main()
{
clock_t start, finish; // 挂钟时间

double t = 0;
int f = 0;

random_device rd; // 用于获得随机种子
mt19937 gen1(rd()); // 以随机种子初始化随机数生成器
mt19937 gen2(rd());
mt19937 gen3(rd());
uniform_int_distribution<int> dist1(10, 99); // 生成 [10, 99] 范围内的整数
uniform_int_distribution<int> dist2(1, 4); // 生成 [1, 4] 范围内的整数

uniform_real_distribution<double> dist3(10.0000000, 99.00000000);
uniform_real_distribution<double> dist4(1.0000000, 4.000000);

set<int> generatedNumbers; // 存储已经生成的随机数

int a[31] = { 0 };

for (int i = 0; i < 30; i++)
{
int randomNum1, randomNum2, randomNum3, n;

do
{
randomNum1 = dist1(gen1); // 生成随机数
randomNum2 = dist1(gen2);
randomNum3 = dist2(gen3);
} while (generatedNumbers.count(randomNum1) || generatedNumbers.count(randomNum2) || generatedNumbers.count(randomNum3));

generatedNumbers.insert(randomNum1);
generatedNumbers.insert(randomNum2);
generatedNumbers.insert(randomNum3);

double GameTime = 1000; // 游戏时间
double gametime; // 用户所用时间

if (randomNum3 == 1)
{
n = randomNum1 + randomNum2;
cout << i + 1 << " " << randomNum1;
cout << "+";
cout << randomNum2 << "=" << endl;
}

if (randomNum3 == 2)
{
n = randomNum1 - randomNum2;
if (n < 0)
{
cout << i + 1 << " " << randomNum2;
cout << "-";
cout << randomNum1 << "=" << endl;
n = randomNum2 - randomNum1;
}
else
{
cout << i + 1 << " " << randomNum1;
cout << "-";
cout << randomNum2 << "=" << endl;
n = randomNum1 - randomNum2;
}
}

if (randomNum3 == 3)
{
n = randomNum1 * randomNum2;

while (n >= 1000)
{
n = randomNum1 * randomNum2;
randomNum1--;
randomNum2--;
}

n = randomNum1 * randomNum2;
cout << i + 1 << " " << randomNum1;
cout << "*";
cout << randomNum2 << "=" << endl;
}

if (randomNum3 == 4)
{
do
{
randomNum1 = dist3(gen1); // 生成随机数
randomNum2 = dist4(gen2);
} while (randomNum1 % randomNum2 != 0 && randomNum1 < randomNum2 && randomNum1 != 0 && randomNum2 != 0);

n = randomNum1 / randomNum2;

cout << i + 1 << " " << randomNum1 << "/" << randomNum2 << "=" << endl;
}

start = clock();

cin >> a[i];

finish = clock();

gametime = (double)(finish - start) / CLOCKS_PER_SEC;

if (gametime >= GameTime)
{
cout << "很遗憾,未能在规定时间内得出答案 正确结果" << n << endl;
f++;
continue;
}

if (a[i] == n)
{
cout << "true" << endl;
t++;
}
else
{
cout << "false 正确结果 " << n << endl;
f++;
}
}

cout << "错题数:" << f << endl;
cout << "正确率:" << f1(t) << endl;

return 0;
}

   

标签:cout,int,randomNum3,randomNum2,randomNum1,generatedNumbers,测试,课堂
From: https://www.cnblogs.com/youxiandechilun/p/17712764.html

相关文章

  • web自动化测试简介
    一、web自动化简介1、什么是自动化测试?2、为什么要进行自动化测试?3、哪些项目适合web自动化测试?1)需求稳定,任务测试明确,不会频繁变更2)研发和测试周期长,需要频繁执行回归测试3)需要在多种平台上重复运行相同的场景4)某些测试项目的手工成本较高5)被测软件的开发较为规范,能够保......
  • pytest+allure+jenkins+python+git,实现Linux服务器看测试报告,并发送邮件通知
    1、简介pytest:一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。allure:是开源测试报告框架。jenkins:持续集成工具python:测试脚本语言git:开源的分布式版本控制系统2、Windows端我们需要开发测试代码,使用git上传到云端仓库2.1......
  • 软件测试|MySQL CROSS JOIN:交叉连接的详细解析
    简介在MySQL数据库中,CROSSJOIN是一种用于生成两个或多个表的笛卡尔积的连接方法。CROSSJOIN不需要任何连接条件,它将左表的每一行与右表的每一行进行组合,从而生成一个包含所有可能组合的结果集。本文将详细介绍MySQL中的CROSSJOIN概念,并提供示例来加深理解。什么是CROSS......
  • 软件测试|MySQL INNER JOIN:内连接的详细解析
    简介在关系型数据库中,数据通常存储在多个表中,并且这些表之间可能存在关联关系。为了从多个表中检索相关数据,SQL提供了不同类型的连接操作,其中之一就是内连接(INNERJOIN)。本文将详细解析MySQL内连接的概念、语法和使用案例。什么是内连接(INNERJOIN)?内连接是一种用于从两个或多个表中......
  • 【接口自动化测试】Eolink Apikit 接口文档生成与导出
    在API研发管理产品中,几乎所有的协作工作都是围绕着API文档进行的。采用文档驱动的协作模式会比先开发、后维护文档的方式更好,团队协作效率和产品质量都能得到提高。基于文档来进行工作,使用文档驱动方式可以降低大量无意义的沟通成本。创建了API文档之后,可以随时查看API......
  • pytest的Hook函数之pytest.hookimpl(hookwrapper=True):获取测试用例结果
    装饰器@pytest.hookimpl(hookwrapper=True),它的作用和装饰器@pytest.mark.hookwrapper是一样的@pytest.hookimpl(hookwrapper=True)装饰的钩子函数,有以下两个作用:(1)可以获取到测试用例不同执行阶段的结果(setup,call,teardown)(2)可以获取钩子方法的调用结果(yield返回一个result对象)和调......
  • python测试用例数据驱动(读取写入excel)
    Python中处理excel数据的模块非常多,比如:xlxd(只读)、xlwd(只写)、openpyxl(可读写)Excel文件和下面的py文件代码一定要在同一个文件夹内,不然需要指定具体的Excel文件路径注意:excel文件为xlsx,不能是xls再转换成xlsx格式的文件,会报错fromopenpyxlimportload_workbookcl......
  • window 安装多个低版本chrome测试
    最近在用next13做一个简单的项目,需要兼容chrome60+以上版本,为了方便测试,特意在公司的台式机上安装了低版本。这里简单记录下高版本覆盖低版本的问题,这个方法不影响Windows系统内已安装的Chrome。下载对应的版本首先下载你想要的chrome版本,我是在这里找寻下载版本的:https://www......
  • 入学测试重写
    importjava.util.Scanner;publicclassWarehouseManagement{publicvoidruku(WarehouseInformation[]ware,intk){while(true){System.out.println("***********************************************************\n"+......
  • 开学测试重写
    importjava.util.Scanner;publicclassWarehouseManagement{publicstaticvoidmain(String[]args){ItemhouseInformationitem[]=newItemhouseInformation[5];while(true){menu.show();inta=0;Scannernum......