九月十一日

四则运算题目

课堂上写的代码

#include<iostream>
#include<random>
using namespace std;
int main()
{

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] 范围内的整数

 

for (int i = 0;i < 30;i++)
{
int randomNum1 = dist1(gen1); // 生成随机数
int randomNum2 = dist1(gen2);
int randomNum3 = dist2(gen3);

cout << randomNum1;
if (randomNum3 == 1)
{
cout << "+";
}
if (randomNum3 == 2)
{
cout << "-";
}
if (randomNum3 == 3)
{
cout << "*";
}
if (randomNum3 == 4)
{
cout << "/";
}
cout << randomNum2 << "="<<endl;

}

}

加上了结果

#include<iostream>
#include<random>
using namespace std;
int main()
{

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] 范围内的整数

 

for (int i = 0;i < 30;i++)
{
int randomNum1 = dist1(gen1); // 生成随机数
int randomNum2 = dist1(gen2);
int randomNum3 = dist2(gen3);
int n;

cout << randomNum1;
if (randomNum3 == 1)
{
cout << "+";
n = randomNum1 + randomNum2;
}
if (randomNum3 == 2)
{
cout << "-";
n = randomNum1 - randomNum2;
}
if (randomNum3 == 3)
{
cout << "*";
n = randomNum1 * randomNum2;
}
if (randomNum3 == 4)
{
cout << "/";
n = randomNum1 / randomNum2;
}
cout << randomNum2 << "="<<n<<endl;

}

}

简单增加了一些内容

#include <iostream>
#include <random>
using namespace std;

int main()
{
random_device rd; // 用于获得随机种子

mt19937 gen1(rd()); // 以随机种子初始化随机数生成器
mt19937 gen2(rd());
mt19937 gen3(rd());


int numCount;
int digitCount;
int num;

cout << "自定义生成多少个数进行运算";
cin >> numCount;
cout << "自定义生成多少位的数进行运算";
cin >> digitCount;
cout << "自定义生成多少题目";
cin >> num;


uniform_int_distribution<int> dist1(pow(10, digitCount - 1), pow(10, digitCount) - 1); // 生成 [10^(digitCount-1), 10^digitCount - 1] 范围内的整数
uniform_int_distribution<int> dist2(1, 4); // 生成 [1, 4] 范围内的整数

for (int i = 0; i < num; i++)
{
for (int j = 0; j < numCount; j++)
{
int randomNum = dist1(gen1); // 生成随机数
cout << randomNum;

if (j < numCount - 1)
{
int randomOp = dist2(gen2); // 生成随机运算符
if (randomOp == 1)
{
cout << " + ";
}
else if (randomOp == 2)
{
cout << " - ";
}
else if (randomOp == 3)
{
cout << " * ";
}
else if (randomOp == 4)
{
cout << " / ";
}
}
}

cout << " =" << endl;
}

return 0;
}

因为先加减再乘除,所以运算结果有些麻烦

 

 

posted @ 2023-09-11 22:24  财神给你送元宝  阅读(6)  评论(0编辑  收藏  举报