计应191(西)周振坤 口算题卡代码

利用 rand 函数产生两个一位的正整数。显示如 6 * 7 等于多少的问题,学生输入答案,如果答案正确,打印太棒了!,然后继续出题,如果回答错误,打印不对,请再试一次,然后继续回答此题,直到回答正确。每运行一次,程序共出题10道。

/*
* 题目要求:
* 利用 rand 函数产生两个一位的正整数。显示如 6 * 7 等于多少的问题,学生输入答案,如果答案正确,打印太棒了!,
* 然后继续出题,如果回答错误,打印不对,请再试一次,然后继续回答此题,直到回答正确。每运行一次,程序共出题10道。
*/
#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int answer()
{
srand(time(0)); //添加随机数种子
char ch[4] = { '+', '-', '*', '/' }; //创建运算符数组,保证随机使用运算符
int n1{ 0 }, n2{ 1 }, n3;
do
{
n1 = rand() % 9 + 1;
n2 = rand() % 8 + 2; //1 出现的概率太多了,所以我把随机数的范围改为 2 - 9
n3 = rand() % 4;
} while (n1<=n2 || n1%n2!=0); //确保被减数(或被除数)大于减数(或被除数)且被除数能被除数整除
cout << n1 << " " << ch[n3] << " " << n2 << " = ?\n";
int ans;
switch (ch[n3])
{
case '+': ans = n1 + n2;break;
case '-': ans = n1 - n2;break;
case '*': ans = n1 * n2;break;
case '/': ans = n1 / n2;break;
}
return ans;
}
int main()
{
int begin;
cout << "欢迎使用口算题卡程序!\n"
<< "本程序旨在为 3 - 6 岁儿童提供服务\n"
<< "快乐学习,享受童年!\n"
<< "回复任意数以继续\n";
if (cin >> begin)
{
for (int n0 = 1; n0 <= 10; ++n0)
{
int ans = answer(), num;
cin >> num;
while (num != ans)
{
cout << "不对,请再试一次。\n";
cin >> num;
}
cout << "回答正确,太棒了!\n";
}
}
return 0;
}
计应191(西)周振坤  口算题卡代码

上一篇:斐波那契数列


下一篇:TypeScript的基本使用(1)