四则运算出题1

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、结果截图:

posted @ 2016-03-05 18:24  David~Wang  阅读(444)  评论(0编辑  收藏  举报