您的位置:首页 > 其它

四则运算出题1

2016-03-05 18:24 309 查看
1、题目要求:

完成一个程序,自动出30道题,范围在100以内,包括加减乘除,整数和真分数

2、实现思路:

程序自动出30道题,运算数和运算符号都是随机。

(1)先自动出一道题,重复过程30次即可;

(2)出一道题,要分为三个部分:第一个数、运算符号、第二个数;

(3)两个数可以直接用随机数产生,四个运算符可以用产生的随机数(1~4)来一一对应;

(4)如果是真分数,可以用随机产生的两个整数来组成一个分数,将较小的数作为分子即可成为真分数;

(5)用随机产生的1、2 来决定产生的数是真分数或是整数。

3、思路整理(实现步骤):

用随机产生的1、2 来决定第一个数是真分数或是整数,随机产生一个整数或是两个整数组成真分数作为第一个运算数,用产生的随机数(1~4)来决定产生的运算符号用随机产生的1、2 来决定第一个数是真分数或是整数,随机产生一个整数或是两个整数组成真分数作为第二个运算数,对运行界面进行整理。

4、源代码:

//此程序用来实现四则运算自动出题,范围包括整数、真分数
//王永维,2016、3、5

#include<iostream>
using namespace std;
void main()
{
int fenshuRand;//真分数或整数
int numRand1,numRand2; //运算数
int fuhaoRand; //运算符号
int count; //产生的式子个数
for(count=0;count<30;count++)
{
//输出题号
cout<<"\t("<<count+1<<")\t";

//选择运算数是真分数或者整数
fenshuRand=rand()%2+1;

//产生第一个数
if(fenshuRand==1)// fenshuRand 为1 为整数
{
numRand1=rand()%100+1;
cout<<numRand1;
}
if(fenshuRand==2)// fenshuRand 为2 为真分数
{
numRand1=rand()%100+1;
numRand2=rand()%100+1;
if(numRand1<numRand2)
cout<<"("<<numRand1<<"/"<<numRand2<<")";
else
cout<<"("<<numRand2<<"/"<<numRand1<<")";
}
//产生运算符号
fuhaoRand=rand()%4+1;
if(fuhaoRand==1)
cout<<" + ";
else if(fuhaoRand==2)
cout<<" - ";
else if(fuhaoRand==3)
cout<<" × ";
else
cout<<" ÷ ";

//产生第二个数
fenshuRand=rand()%2+1;
if(fenshuRand==1)// fenshuRand 为1 为整数
{
numRand1=rand()%100+1;
cout<<numRand1;
}
if(fenshuRand==2)// fenshuRand 为2 为真分数
   {
numRand1=rand()%100+1;
   numRand2=rand()%100+1;
if(numRand1<numRand2)
cout<<"("<<numRand1<<"/"<<numRand2<<")";
else
cout<<"("<<numRand2<<"/"<<numRand1<<")";

}
cout<<"="<<endl;
}
}

5、结果截图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: