求C++编写:为训练小学生的算术能力,现请你帮忙设计一个100以内的随机出题程序,每次运行生成100道题。

作者&投稿:焦池 (若有异议请与网页底部的电邮联系)
用C++编写:为训练小学生的算术能力,现请你帮忙设计一个100以内的随机出题程序,每次运行生成100道题。~

#include
#include
#include
#include

using std::cin;
using std::cout;
using std::endl;

//计算式 数量
int const Num = 100;
//计算式中 最大数
int const MaxNum = 100;
//每题分数
int const PerMark = 1;
//计算结果最大值
int const MaxResult = 100;
//计算结果最小值
int const MinResult = 0;


enum enOp{Add,Subtract,Multiply,Divide};

//将 枚举类型转换为字符类型,以便输出。
char enum2char(enOp op)
{
switch (op)
{
case Add:
return '+';
case Subtract:
return '-';
case Multiply:
return 'x';
case Divide:
return '/';
}
return ' ';
}

//计算生成表达式的正确结果。
int myResult(int left,int right,enOp op)
{
switch (op)
{
case Add:
return left+right;
case Subtract:
return left-right;
case Multiply:
return left *right;
case Divide:
return left/ right;
}
return 0;
}



//检查生成计算式的正确与否。其中 减法结果不能为负数,除法结果不能为小数。
bool checkFormula(int left,int right,enOp op)
{
switch (op)
{
case Add:
{
return true;
}
case Subtract:
{
if(left < right)
return false;
return true;
}
case Multiply:
{
return true;
}
case Divide:
{
if(right == 0)
return false;
if(double(left/right) != double(double(left)/double(right)))
return false;
return true;
}
}
return false;
}

//依据给定操作符,生成符合条件的表达式。
void getFormula(int* left,int*right,enOp op)
{
//srand(time(NULL));
for(;;)
{
*left = 1 + rand() % MaxNum;
*right = 1 + rand() % MaxNum;
if(checkFormula(*left,*right,op) && myResult(*left,*right,op)= MinResult)
break;
}
}

int main()
{
//操作符左值
int left[Num];
//操作符右值
int right[Num];
//用户输入计算结果
int result[Num];
//操作符 +-*/
enOp oper[Num];
//正确答案个数
int answerRight = 0;


cout<<"正在生成,请稍等。"<<endl;
//随机种子
srand(time(NULL));
//开始生成计算表达式。
for(int i = 0;i<Num;i++)
{
//srand( (unsigned)time(NULL));
//操作符
oper[i] = enOp(rand()%4);
getFormula(&left[i],&right[i],oper[i]);
}

cout<<"生成计算式完成,开始答题!"<<endl;

//输出表达式,让用户答题
for(int i = 0;i<Num;i++)
{
//输出表达式
cout<<"第 "<<i+1<<" 题:
";
cout<<left[i]<<' '<<enum2char(oper[i])<<' '<<right[i]<< " = ";
//获取用户答案
cin>>result[i];
//比对用户答案是否正确,正确输出 right,answerRigth加一,否则输出not correct。
if(result[i] == myResult(left[i],right[i],oper[i]))
{
cout<<"Right!
";
answerRight++;
}
else
{
cout<<"Not correct!
";
}
}

//全部答题完毕,输出正确答案个数及得分。
cout<<"终止答题,共 "<<Num<<" 题,每题 "<<PerMark<<" 分 ,答对 "<<answerRight<<" 题,得分 :"
<<answerRight*PerMark<<" 分。";

//屏幕停止。
getch();

return 0;
}

刚学EXCEL宏时做过一个,本来打算给孩子快上学时候用的,哈哈,现在分享一下啦。
一会发你。(每次运行一下宏就自动出题了)

#include<iostream.h>
class Sample
{
int n;
public:
Sample() {}
Sample(int m)
Sample operator +(Sample s)
{
return Sample(n+s.n);
}
Sample operator -(Sample s)
{
return Sample(n-s.n);
}
Sample operator *(Sample s)
{
return Sample(n*s.n);
}
Sample operator /(Sample s)
{
return Sample(n/s.n);
}
void disp()
{
cout<<"n="<<n<<endl;
}
};
void main()
{
int a,b;
cout<<"输入两个整数:";
cin>>a>>b;
Sample s1(a),s2(b),s3,s4,s5,s6;
s3=s1+s2;
s4=s1-s2;
s5=s1*s2;
s6=s1/s2;
s3.disp();
s4.disp();
s5.disp();
s6.disp();
}

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

#define N 3//最大操作数
void symbol(const int &x)
{
switch(x)
{
case 0:cout<<"+";break;
case 1:cout<<"-";break;
case 2:cout<<"*";break;
case 3:cout<<"/";break;
default: ;
}
}

void main()
{
int i,j;
unsigned int r;
srand((unsigned)time(NULL));
for(i=0;i<100;i++)
{
cout<<rand()%100;
r=rand()%N;
for(j=0;j<r;j++)
{
symbol(rand()%4);
cout<<rand()%100;
}
cout<<"="<<endl;
}
}


c语言编程:电话语音识别中训练十个数字
int a[100][8]={0};for(i=0;i<kk;i++){ for(j=0;j<8;j++){ if((i==0)&&(j==0))a[i][j]=9;\/\/首元素为9 else if(k==9)a[i][j]=9;\/\/用k依次赋值为0,1,2,3,4,5,6,7,8,9然后再为n赋值1,2,3,4,5,6,7,8,9 \/\/把n值依次与k组合出所有不同的两两...

c训练oco数据集时置信度设置为多少
90%和5%。置信度的概念是表示框出的box内确实有物体的自信程度和框出的box将整个物体的所有特征都包括进来的自信程度。设定一个置信度c的值(0-1之间),这个值不能设太大,很好理解,如果设的过大,它的置信区间变大,精度变小,准确度变低,可以理解为要求的变松了。超过90%以及低于5%的数据集...

二级C语言程序设计:考题解析、达标训练和应试指南目录
首先,第1章《C语言基础》着重于程序结构和基本符号的理解。1.1节考试要点涵盖程序的结构组织和常用符号,通过实例解析选择题和填空题,引导学习者逐步掌握C语言的基本概念。同步练习部分提供了配套的题目和答案,便于自我检测和巩固。第二章《数据类型及其运算》深入讲解了C语言的数据类型、常量、变量和运...

二级C语言程序设计:考题解析、达标训练和应试指南内容简介
专为全国计算机等级考试二级C语言程序设计而设计的《二级C语言程序设计:考题解析、达标训练和应试指南》是一本旨在帮助考生轻松通过考试的实用指南。该书依据2005年4月实施的考试大纲进行编写,全方位覆盖考试流程。书中详细内容包括:C语言考试要点的精要讲解,典型考题的深度解析,同步练习和精准答案,上机...

用C语言编写小学运算测试程序(要求完成10以内的加减运算,能根据用户输 ...
printf(" 欢迎进入小学生四则运算训练营\\n\\n1.10以内的四则运算\\n0.退出\\n\\n");printf("请选择功能号(1\/0):");scanf("%d",&p);getchar();if(p==1)M=10;if(p==0)exit(0);printf("请选择的是%d以内的四则运算个数:\\n",M);scanf("%d",&num);int temp = yunsuan(M...

C语言编写一个程序,急用!!高分悬赏(正确答案追加分数)
printf("\\t\\t现在是加法训练\\n\\n");srand((unsigned)time(NULL));int plu[10][4];int m, n, result, input;for(int i = 0; i < 10; i++){ m = rand() % 10;n = rand() % 10;printf("请计算: %d + %d = ", m, n);result = m + n;scanf("%d", &input);if(...

C语言 acm训练题
*pr = i; *pc = j; } } } (*pr)++; (*pc)++; }int main(){ int t; int a,b; int martix[100][100]; int i,j; int r,c; scanf("%d",

二级C语言程序设计:考题解析、达标训练和应试指南图书信息
本书的尺寸适中,大小为25.6厘米长、18.4厘米宽、1.6厘米厚,不仅内容丰富,而且装帧简洁,适合在学习过程中随身携带。它不仅包含了详细的考题解析,帮助读者理解和掌握C语言的各类知识点,还提供了达标训练,旨在通过实际操作提升考生的编程技能。对于准备参加计算机等级考试的考生来说,这是一本不可多...

我需要 C语言实验、课程设计及网上训练教程,求助,教材的百度网盘资源...
我这里有您想要的资源,通过百度网盘免费分享给您:https:\/\/pan.baidu.com\/s\/1C6Y30eQwlKNI6pIWOXViUg 提取码:1234 本书按照教育部围绕计算思维进行计算机课程教学改革的思想编写;融入计算思维的C语言程序设计教学思想,包含大量精选范例程序,提供电子文档,包含具有自动批改、计分功能的同步自测习题。

C语言初学者求解 训练3 5题图3.16
void main () { float x = 0, y = 0; scanf("%f", &x); if (x <= 0) { y = x + 10; } else { if (x <= 1) { y = 0; } else { y = x - 10; } } printf("x = %f, y = %f\\n", x, y); } ...

武鸣县13167949188: 用C++编写:为训练小学生的算术能力,现请你帮忙设计一个100以内的随机出题程序,每次运行生成100道题.
鄂顾脑心: #include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;ctime&gt; #include &lt;conio.h&gt; using std::cin; using std::cout; using std::endl; //计算式 数量 int const Num = 100; //计算式中 最大数 int const MaxNum = 100; //每题分数 int const ...

武鸣县13167949188: c++小学生算数系统 -
鄂顾脑心: 按你的要求给你写了一个,代码贴在下面,并附上注释,希望你满意:#include <iostream>#include <ctime> using namespace std; void PrintResult(int score); //输出结果 int Expression(int a, int b, int opera); //转换为算式显示并返回正确结果 ...

武鸣县13167949188: C++编写程序实现小学生数学测验功能 -
鄂顾脑心: 参考实例源码如下: //#include <stdlib.h> #include <iostream> using namespace std; int main() {int i,j,k,l=0,n;cout<<"小学数学测试"<<endl;cout<<"请选择想测试的题型:1.+ 2.- 3.* 4./:";cin>>i; if(i==1){cout<<"请输入测试题的个数:...

武鸣县13167949188: c++程序设计 小学生心算系统 -
鄂顾脑心: #include#include /*2、编译预处理头文件stdlib.h */ #include /*1、问题描述: 通过程序实现两位数以内的小学生四则运算(加、减、乘、除). 如果输入的结果正确,则显示“YOU ARE GOOD”否则显示“YOU TRY AGAIN ”. 4、测试数据: ...

武鸣县13167949188: C++编写程序实现算术计算器,包含加减乘除,乘方,阶乘.求大神怎么写这个代码? -
鄂顾脑心: #include<iostream>#include<cmath>#include<string>#include<iomanip>using namespace std;void menu();//位于calculate函数后面的菜单函数声明void guide();//位于主函数后面的指导函数的声明double D_Operate(double x,char op,...

武鸣县13167949188: C++小学生加减运算程序例题 -
鄂顾脑心: 自己首先从控制台输入一些加减信息,提示输入 利用SWITCH 做各种情况 SWITCH 里面在嵌套一个while来判断答案是否正确 如果正确不执行while 如果错误则执行whilie , cout<<"Error,再想想" ,在cin>> 输入,直到输入正确才跳出while 的熏昏循环 其他的类推相信楼主自己可以解决

武鸣县13167949188: C语言编一个小学生算术题程序,求大神!! -
鄂顾脑心: #include <stdio.h>#include <string.h>#include <stdlib.h>#include <time.h> void menu() { char sl; int i,an,a,b,n = 10; do { printf("\t************************************************************\n"); printf("\t* 加法(A) 减法(S) 乘法(M) 除法(D) 退出(E) *...

武鸣县13167949188: c++口算练习题代码.急求 -
鄂顾脑心: #include #include using namespace std; int getlen(int a) //得到一个数字的长度 { if(a==0)return 1; //注意0的时候要特判,不然会80int len=0; if(a { a=-a; len=1; } while(a) { a/=10; len++; } return len; } int main() { string symbol,psymbol; //symbol保存...

武鸣县13167949188: 用c++编一个小学生100以内的加减乘除法运算,随机生成20个,减法不能出现负数,再批改 -
鄂顾脑心: #include <iostream.h>#include <cstdlib>#include <ctime> class calculate { int iA ; int iB ; char nOperator ; public: void Rand_A () ; // 随机产生第一个操作数 void Rand_B () ; // 随机产生第二个操作数 void Rand_Operator () ; //随机产生...

武鸣县13167949188: 求一C++编写的计算器,要求能运算简单的四则运算,并且包括括号和小数! 谢谢~~~~
鄂顾脑心: 这个程序我以前刚好写过,是分文件组织的,下面我就把代码贴给你吧,这个程序完全满足你的要求当然还包括能够运算乘方,整数和小数都能运行,而且能够判断表达式的错误并作出处理,很健壮 头文件有两个: 第一个是:Calulator.h //...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网