zoukankan      html  css  js  c++  java
  • 四则运算1

    随机生成30道100以内的四则运算,除整数外,还要支持真分数。
    (1)生成2个一百以内的随机数
    (2)随机产生1-4的随机整数,分别代表+、-、*、/。
    (3)如果是除法,确保第二个数不为0
    (4)生成第4个随机数
    (5)随机产生1-4的随机整数,分别代表+、-、*、/
    (6)每两个判断大小,并确保分母不为0
    (7)将结果输出
    (8)通过30个循环分别输出30道题


    要取得[a,b)的随机整数,使用(rand() % (b-a))+ a;
    要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a;
    要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1;
    通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。
    要取得a到b之间的随机整数,另一种表示:a + (int)b * rand() / (RAND_MAX + 1)。
    要取得0~1之间的浮点数,可以使用rand() / double(RAND_MAX)。

    
    
    //信1301-2 禹慧慧 生成30 道四则运算题,支持整数和真分数
    #include<iostream>
    #include <stdlib.h> 
    #include <time.h> 
    #define random(x) (rand()%x)
    using namespace std;
    void main()
    {
    srand((int)time(0));//时间种子
    for(int j=0;j<30;j++)//循环30次
    {
    int i;
    i=rand()%2;//随即决定整数计算或真分数计算
    switch(i)
    {
    case(0): 
    {
    int a,b,x;
    char y;
    x=rand()%4;//随即决定运算符号
    switch(x)
    {
    case(0):y='+';break;
    case(1):y='-';break;
    case(2):y='*';break;
    case(3):y='/';break;
    }
    a=random(100);
    b=random(100);//生成随机数
    if(y=='/')//若除法,确保除数不为零
    {
    if(b==0)
    { 
    do
    {b=random(100);} while(b==0);
    }
    
    cout<<a<<y<<b<<"="<<endl;break;
    }
    
    case(1):
    {
    int a,b,c,d,x;
    char y;
    x=rand()%4;//随即决定运算符号
    switch(x)
    {
    case(0):y='+';break;
    case(1):y='-';break;
    case(2):y='*';break;
    case(3):y='/';break;
    }
    a=random(100);
    b=random(100);
    c=random(100);
    d=random(100);//生成随机数
    
    if(a>b)//判断大小,组合成真分数,并确保分母不为0
    cout<<"("<<b<<"/"<<a<<")";
    else
    {
    if(b==0)
    { 
    do{b=random(100);} while(b==0);
    }
    cout<<"("<<a<<"/"<<b<<")";
    }
    cout<<y;
    if(c>d)
    cout<<"("<<d<<"/"<<c<<")";
    else	
    {
    if(d==0)
    { 
    do{d=random(100);} while(d==0);
    }
    cout<<"("<<c<<"/"<<d<<")";
    }
    cout<<"="<<endl;break;
    
    }
    }
    }
    }
    }
    

      总结:这是第一次作业,并不是很难,但是就在上课的时候,因为条件太多,没有头绪,不知从哪里下手,但是课下再看看,一点一点就写出了,并没有很难,知识选择条件太多有些乱。下一次的作业应该会更复杂吧!

  • 相关阅读:
    一天一个shell实例(1)文本中n个出现频率最高的单词(转)
    JNDI全攻略(一)(转)
    JNDI 学习(转)
    JNDI全攻略(二)(转)
    C#开发系列 文章索引
    AppControls
    JSF系列 文章索引
    [转载]DELPHI组件安装全攻略
    什么是有价值的人生
    [转载]InnoSetup5.2.3啊风增强版 安装代码
  • 原文地址:https://www.cnblogs.com/yhhzxcvbnm/p/5245978.html
Copyright © 2011-2022 走看看