以后会放在应用里。
这是V1.0的版本,还会有很多bug。
用的是LaTeX渲染。
这就是我问这个的原因QAQ
效果:
是程序自己写的,不是我手打的哦~~~~
这里的时间有点长,可以大家自己设置(hard变量瞩目
#include<cstdio>
#include<ctime>
#include<algorithm>
#include<iostream>
#include<cmath>
#include<cstring>
#include<windows.h>
using namespace std;
int main()
{
int n;
cout << "请输入题目数量" << endl;
cin >> n;
int hard;
cout << "请输入难度:(越大越难)" << endl;
cin >> hard;
cout << "请输入题目数据范围(请不要输入过大的数,会爆栈&生成失败" << endl;
int x, y;
cin >> x >> y;
int res[5010];
cout << "正在生成中,请稍等。" << endl;
Sleep(1000);
system("cls");
if(x > 1000 || y > 1000)
{
cout << "生成失败" << endl;
Sleep(1000);
cout << "原因:数据范围过大。" << endl;
Sleep(2000);
return 0;
}
else if(n > 5000)
{
cout << "生成失败" << endl;
Sleep(1000);
cout << "原因:生成时间过长,容易爆栈。" << endl;
Sleep(2000);
return 0;
}
else if(hard >= n - 1)
{
cout << "生成失败" << endl;
Sleep(1000);
cout << "原因:难度不科学" << endl;
Sleep(2000);
return 0;
}
else cout << "生成成功!程序退出后请在桌面中查看。" << endl;
freopen("D:\\吾爱刷题\\口算\\20200810-2.md", "w", stdout);
printf("# 今天的口算:\n");
cout << "# 请在 $ " << int(n / hard) << " $ 分钟内完成。" << endl;
cout << "## 习题" << endl;
for(int i = 0; i < n ;i ++)
{
Sleep(1);
srand(clock());
int a = rand() % x + 1;
Sleep(1);
srand(clock());
int b = rand() % y + 1;
Sleep(1);
srand(clock());
int c = rand() % 3 + 1;
Sleep(1);
cout << "### $ " << i + 1 << ": " << a;
if(c == 1)
{
cout << " + " << b;
res[i] = a + b;
}
if(c == 2)
{
cout << " - " << b;
res[i] = a - b;
}
if(c == 3)
{
cout << " × " << b;
res[i] = a * b;
}
cout << " = $" << endl;
}
cout << endl << "****" << endl;
cout << "## 答案" << endl;
for(int i = 0; i < n; i ++)
{
cout << "### $ " << i + 1 << ": "<< res[i] << " $" << endl;
}
cout << endl;
fclose(stdout);
return 0;
}
未来打算加上自动建文件夹,自动打印,自动设置难度以及可以生成更大的数的功能~~
前来支持
hh
qpzc
hh