小学生的四则运算题

今天老师要求编写一个程序,该程序实现随机出30道小学生的四则运算题,包括分数。

编程思想:判断是哪种运算,当为整数运算时,只需判断除数是否为0,是修改除数,然后直接输出

当为分数运算时,被除数只需判断分母,除数需要判断分子与分母,三者都不能为0

//chenchang 20143051    2016.3.7
#include<iostream>
using namespace std;
int sui1()//此函数用于随机整数的选出
{
    int m=rand()%100;//模100,取0-99中的整数
    return m;
}
char sui2()//此函数用于选出随机运算符
{
    int m=rand()%4;
    if(m==0)return '+';
    else if(m==1) return '-';
    else if(m==2) return '*';
    else if(m==3) return '/';
}
void main()
{
    for(int i=0;i<30;i++)
    {
        int zheng=rand()%2;
        if(zheng==1)//整数计算
        {
            int shu1=sui1();
            char fu1=sui2();
            int shu2=sui1();
            while(shu2==0&&fu1=='/')//判断当为除法时,分母为零,重新选择一个分母
            {
                shu2=sui1();
            }
            cout<<""<< i+1 <<" 个式子:"<<shu1<<fu1<<shu2<<"="<<endl;
        }
        else {
            int zi1=sui1();
            int mu1=sui1();
            while(mu1==0)//分母为零,重新选择一个分母
            {
                mu1=sui1();
            }
            char fu2=sui2();
            ////////////
            int zi2=sui1();
            int mu2=sui1();
            while(mu2==0)//分母为零,重新选择一个分母
            {
                mu2=sui1();
            }
            while(zi2==0&&fu2=='/')////判断当为除法时,第二个分数的分子为零,重新选择一个分子
            {
                zi2=sui1();
            }
            cout<<""<< i+1 <<" 个式子:"<<zi1<<"/"<<mu1<<fu2<<zi2<<"/"<<mu2<<"="<<endl;
        }
    }
}

结果截图:

posted @ 2016-03-07 14:14  TmT  阅读(247)  评论(3编辑  收藏  举报