码迷,mamicode.com
首页 > 其他好文 > 详细

随机30道小学计算题修改01

时间:2016-03-09 22:26:39      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:

经过两位老师的点评,我此次修正以下两个问题:

1.整数除数为0(如果出现这种情况,就把符号改成除除法之外的随机一种)

2.分数可约分(新增函数zuidagongyueshu,如果存在最大公约数,就除以这个最大公约数,其结果替换之前的数字)

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#define random(x) (rand()%x)
#include <iostream>
using namespace std;

int zuidagongyueshu(int a,int b)
{
    int c=0,min,i;
    min = a < b ? a : b;
    for (i = 1; i < min; i++)
    {
        if (a%i == 0 && b%i == 0)
            c = i;
    }
    return c;

}
int suiji(int k)
{
    srand((int)time(0));
    int a,b,c,d,i;
    for(int j=0;j<k;j++)
    {
        i=rand()%4;
        a=random(100);
        b=random(100);
        c=random(100);
        d=random(100);

        if (a<b && c<d && b!=0 && d!=0)
        {
            int l,p;
            l = zuidagongyueshu(a, b);
            p = zuidagongyueshu(c, d);
            if (l != 0)
            {
                a = a / l;
                b = b / l;
            }
            if (k != 0)
            {
                c = c / p;
                d = d / p;
            }
            switch(i)
            {
                case 0:cout<<"("<<a<<"/"<<b<<")"<<"+"<<"("<<c<<"/"<<d<<")"<<"="<<endl;break;
                case 1:cout<<"("<<a<<"/"<<b<<")"<<"-"<<"("<<c<<"/"<<d<<")"<<"="<<endl;break;
                case 2:cout<<"("<<a<<"/"<<b<<")"<<"*"<<"("<<c<<"/"<<d<<")"<<"="<<endl;break;
                case 3:cout<<"("<<a<<"/"<<b<<")"<<"/"<<"("<<c<<"/"<<d<<")"<<"="<<endl;break;
            }
        }
        if(i==3 && b==0)//如果除数为0
        {
            i = rand() % 3;
        }
    
        else
        {
            switch(i)
            {
                case 0:cout<<a<<"+"<<b<<"="<<endl;break;
                case 1:cout<<a<<"-"<<b<<"="<<endl;break;
                case 2:cout<<a<<"*"<<b<<"="<<endl;break;
                case 3:cout<<a<<"/"<<b<<"="<<endl;break;
            }

        }
    }
    return 0;
}

int main()
{
    int j;
    cout << "请输入生成四则运算数量=";
    cin >> j;
    suiji(j);
}

技术分享

 

随机30道小学计算题修改01

标签:

原文地址:http://www.cnblogs.com/linanil/p/5259959.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!