EherChen 发表于 2020-7-23 11:58:10

求助如何用二维数组创造加减乘除的式子

大家好!想问下如何用c++二维数组创造以下随机的算数式。

要求可以随机数字(加减最多3位数,乘除最多2位数),可以设定加减乘除,题目数量可设定1-10题。
最后结果写到txt文件中。
求大家指点!!



解决下列问题:

#1.                        #2.
      ___                        ___
   50/50                      49+80


#3.                        #4.
      ___                        ___
   21)91                      3*16


#5.
   ___
   2+44

永恒的蓝色梦想 发表于 2020-7-23 12:00:08

21)91 是个啥啊

EherChen 发表于 2020-7-23 12:00:42

永恒的蓝色梦想 发表于 2020-7-23 12:00
21)91 是个啥啊

21/91
不好意思打错了!

永恒的蓝色梦想 发表于 2020-7-23 12:20:25

EherChen 发表于 2020-7-23 12:00
21/91
不好意思打错了!

可以设定加减乘除是什么意思?

EherChen 发表于 2020-7-23 12:26:13

永恒的蓝色梦想 发表于 2020-7-23 12:20
是什么意思?

1-10个题目里可以都是加 都是减 或者可以加减乘除混到一起。我们老师给我们的提示是 exam type = 'a' 's' 'm' 'd'。 a代表add s代表substract m代表multiply d代表divide

永恒的蓝色梦想 发表于 2020-7-23 12:39:24

本帖最后由 永恒的蓝色梦想 于 2020-7-23 14:05 编辑

EherChen 发表于 2020-7-23 12:26
1-10个题目里可以都是加 都是减 或者可以加减乘除混到一起。我们老师给我们的提示是 exam type = 'a' 's ...

你看这行不行?
#include<fstream>
#include<iostream>
#include<cstdlib>
using namespace std;

constexpr char file_path[] = "C:\\Users\\XXX\\Desktop\\0.txt";
ofstream file(file_path);



void func() {
    switch (rand() & 3) {
      case 0:
            file << rand() % 1000 << '+' << rand() % 1000;
            break;

      case 1:
            file << rand() % 1000 << '-' << rand() % 1000;
            break;

      case 2:
            file << rand() % 100 << '*' << rand() % 100;
            break;

      case 3:
            file << rand() % 100 << '/' << rand() % 99 + 1;
            break;
    }
}



int main() {
    ios::sync_with_stdio(false);

    int mcount;
    cout << "输入题量:";
    cin >> mcount;
    file << "解决下列问题:\n";


    for (int count = 1; count < mcount; count += 2) {
      file << '\n' << '#' << count << ".                        #" << count + 1 << ".\n      ___                        ___\n   ";
      func();
      file << "                      ";
      func();
      file << '\n' << '\n';
    }


    if (mcount & 1) {
      file << '\n' << '#' << mcount << ".\n   ___\n   ";
      func();
    }


    file.close();
    return 0;
}代码里的 file_path 改成自己的。

EherChen 发表于 2020-7-23 12:49:22

永恒的蓝色梦想 发表于 2020-7-23 12:39
你看这行不行?
代码里的 file_path 改成自己的。

!!!!!! 好厉害。
不过我们老师要让我们用二维数组。就是每行有两列的问题这样。

EherChen 发表于 2020-7-23 12:50:06

永恒的蓝色梦想 发表于 2020-7-23 12:39
你看这行不行?
代码里的 file_path 改成自己的。

还想请问下“ios::sync_with_stdio(false);”这个是什么意思呀 感觉我们没有学过这部分

永恒的蓝色梦想 发表于 2020-7-23 12:51:04

EherChen 发表于 2020-7-23 12:49
!!!!!! 好厉害。
不过我们老师要让我们用二维数组。就是每行有两列的问题这样。

用二维数组就太麻烦了……

永恒的蓝色梦想 发表于 2020-7-23 12:51:19

EherChen 发表于 2020-7-23 12:50
还想请问下“ios::sync_with_stdio(false);”这个是什么意思呀 感觉我们没有学过这部分

就是取消和 stdio 的关联,也可以不加。

EherChen 发表于 2020-7-23 13:43:49

永恒的蓝色梦想 发表于 2020-7-23 12:51
用二维数组就太麻烦了……

哎 他一定让我们用。 没关系!这样也可以 明天我去问问他! 谢谢!!

EherChen 发表于 2020-7-23 13:44:25

永恒的蓝色梦想 发表于 2020-7-23 12:51
就是取消和 stdio 的关联,也可以不加。

感谢回答!!!
页: [1]
查看完整版本: 求助如何用二维数组创造加减乘除的式子