C/C++加减法计算题生成(源码)

一、源码

运行环境:Dev C++ 5.11

#include <bits/stdc++.h>
using namespace std;
struct question
{
	long long first;
	long long second;
}
t[1000001];
int main()
{
	long long Min, Max, add, minus, x = time(0) % 100, y = time(0) % 88;
	cout << "加法数量:";
	cin >> add;
	cout << "减法数量:";
	cin >> minus;
	cout << "MIN:";
	cin >> Min;
	cout << "MAX:";
	cin >> Max;
	for (int i = 1; i <= add; i++)
	{
		srand((time(0) + x + y + i) % 222);
		x += rand() % Max;
		srand((time(0) + x + add) % 111);
		y += rand() % Max;
		if (x > Max) x -= Max;
		if (y > Max) y -= Max;
		while (x + y > Max)
		{
			x -= rand() % x;
			y -= rand() % y;
		}
		t[i].first = x;
		t[i].second = y;
	}
	for (int i = 1; i <= minus; i++)
	{
		srand((time(0) + x + y + i) % 222);
		x += rand() % Max;
		srand((time(0) + x + minus) % 111);
		y += rand() % Max;
		if (x > Max) x -= Max;
		if (y > Max) y -= Max;
		t[i + add].first = x;
		t[i + add].second = y;
	}
	freopen("计算题练习.docx", "w", stdout);
	cout << Max << "以内";
	if (add != 0) cout << "加";
	if (minus != 0) cout << "减";
	cout << "法练习题" << endl << "姓名:_______________     ";
	cout << "试题数量:" << add + minus << "     时间:" << (add + minus) / 4 << "分钟" << endl;
	cout << "一、加法计算。(共" << add << "小题)" << endl;
	for (int i = 1; i <= add; i++)
		cout << i << ".  " << t[i].first << " + " << t[i].second << " =(    )" << endl;
	cout << "二、减法计算。(共" << minus << "小题)" << endl;
	for (int i = 1 + add; i <= minus + add; i++)
		cout << i << ".  " << max(t[i].first, t[i].second) << " - " << min(t[i].first, t[i].second) << " =(    )" << endl;
	cout << "答案" << endl << "一、加法计算。(共" << add << "小题)" << endl;
	for (int i = 1; i <= add; i++)
		cout << i << ".  " << t[i].first + t[i].second << endl;
	cout << "二、减法计算。(共" << minus << "小题)" << endl;
	for (int i = 1 + add; i <= minus + add; i++)
		cout << i << ".  " << max(t[i].first, t[i].second) - min(t[i].first, t[i].second) << endl;
	return 0;
}

二、效果展示

输入窗口:

输出文档:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Server65535

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值