• 作业2


    #题目 自动生成四则运算题目

    #主要功能 首先,你可以根据自己的需要写出自己想做的四则运算题的个数,写出个数以后你可以选择做整数四则运算还是真分数四则运算。当你输入1时会自动生成整数四则运算,否则真分数四则运算。

    #设计思路 本程序分为三个部分:一、定义及条用的头文件 二、四则运算 三、随机数获得。 加减乘除四种运算的处理过程,通过主函数的switch开关语句和一个while循环来调用。

    #源代码

    ```





    #源代码

    #include<iostream.h>

    #include<stdlib.h>

    #include<conio.h>



    void DealFenshu(int m, int a[][2])

    {

        for(int p=0;p<m;p++)

        {

            int i=(int)rand()%10;

            int j=(int)rand()%10;

            while(j==0||i>=j)

            {

                i=(int)rand()%10;

                j=(int)rand()%10;

            }

            int x=(int)rand()%10;

            int y=(int)rand()%10;

            while(y==0||x>=y)

            {

                x=(int)rand()%10;

                y=(int)rand()%10;

            }

            int k=(int)rand()%100/25;

            switch(k)

            {

                case 0:

                    cout<<"("<<i<<"/"<<j<<")"<<"+"<<"("<<x<<"/"<<y<<")"<<"=";

                    a[p][0]=i*y+x*j;

                    a[p][1]=j*y;

                    break;

                case 1:

                    cout<<"("<<i<<"/"<<j<<")"<<"-"<<"("<<x<<"/"<<y<<")"<<"=";

                    a[p][0]=i*y-x*j;

                    a[p][1]=j*y;

                    break;

                case 2:

                    cout<<"("<<i<<"/"<<j<<")"<<"*"<<"("<<x<<"/"<<y<<")"<<"=";

                    a[p][0]=i*x;

                    a[p][1]=j*y;

                    break;

                case 3:

                    a[p][0]=i*y;

                    a[p][1]=j*x;

                    cout<<"("<<i<<"/"<<j<<")"<<"/"<<"("<<x<<"/"<<y<<")"<<"=";

                }

                

                if(p%5==4)

                {

                    cout<<endl;

                }

                else

                {

                    cout<<' ';

                }

        }



    }

    void DisplayFenshu(int a[][2],int w,int m)

    {

        if(w==1)

        {

            for(int q=0;q<m;q++)

            {

                if(a[q][0]==0)

                    cout<<"0"<<' ';

                else

                    cout<<a[q][0]<<"/"<<a[q][1]<<' ';

                if(q%5==4)

                {

                    cout<<endl;

                }

            }

        }

        else

        {};

    }

    void DealInt(int m,int a[])

    {

            

        for(int p=0;p<m;p++)

        {

        int i=(int)rand()%10;

        int j=(int)rand()%10;

        int k=(int)rand()%100/25;

        switch(k)

        {

        case 0:

            cout<<i<<"+"<<j<<"=";

                a[p]=i+j;

            break;

        case 1:

            cout<<i<<"-"<<j<<"=";

            a[p]=i-j;

            break;

        case 2:

            cout<<i<<"*"<<j<<"=";

            a[p]=i*j;

            break;

        case 3:

            try

            {

            a[p]=i/j;

            cout<<i<<"/"<<j<<"=";

            }

            catch(...)

            {

                p--;

            }

            



        }

            

            if(p%5==4)

            {

                cout<<endl;

            }

            else

            {

                cout<<' ';

            }

        }

    }

    void DisplayInt(int a[],int w,int m)

    {

        if(w==1)

        {

            for(int q=0;q<m;q++)

            {

                cout<<a[q]<<' ';

                if(q%5==4)

                {

                    cout<<endl;

                }

            }

        }

        else

        {};

    }

    int main()

    {

        int p;

        do

        {

            system("cls");

            int a[1000],b[1000][2];

            int m,n,w;

            cout<<"请输入生成的四则运算题个数:";

            cin>>m;

            cout<<endl;

            cout<<"请输入要生成的四则运算种类(输入1为整数,否则为真分数):";

            cin>>n;

            cout<<endl;

            if(n==1)

            {

                DealInt(m,a);

                cout<<endl;

            }

            else

            {

                DealFenshu(m,b);

                cout<<endl;

            }

            cout<<"是否输出答案(输入1则输出答案否则不输出答案)"<<endl;

            cin>>w;

            if(n==1)

            {

                DisplayInt(a,w,m);        

            }

            else

            {

                DisplayFenshu(b,w,m);

            }

            cout<<endl;

            cout<<"是否继续生成运算题(输入1则生成否则不生成)"<<endl;

            cin>>p;

            cout<<endl;

        }while(1==p);



    }



    ```

    #程序运行截图

    #总结 要学习软件工程,学会如何系统的思考,以及养成良好的编码习惯,想学好软件工程,就必须树立目标,了解软件工程的过程和原则。这次作业重点注意在四则运算的返回结果时不能出错。今后我依然会认真完成老师留的作业,希望可以顺利通过这门课程,学有所得。

  • 相关阅读:
    Codeforces Round #590 D. Distinct Characters Queries
    线段树模板加模板题POJ3468
    hihoCoder挑战赛5 C 与链
    HDU 5044 Tree 树链剖分
    HYSBZ 1901 Dynamic Rankings 树状数组套主席树
    POJ 2761 Feed the dogs 主席树
    POJ 2104 K-th Number 主席树 区间第K大
    HDU 4547 CD操作 LCA
    POJ 1470 Closest Common Ancestors 离线LCA
    HYSBZ 1036 树的统计Count 树链剖分 线段树
  • 原文地址:https://www.cnblogs.com/zhaosen/p/5283614.html
Copyright © 2020-2023  润新知