zoukankan      html  css  js  c++  java
  • 二柱子四则运算2.0版本

    支持真分数的四则运算

    可以自定义题目数量

    源代码:

      1 #include<stdio.h>
      2 #include<iostream>
      3 #include<time.h>
      4 #include<string>
      5 using namespace std;
      6 int main()
      7 {srand( (unsigned)time( NULL ) ); 
      8 int i,k,p,v,a,b;
      9 int *s1,*s2,*s3;
     10 char n;
     11 string *sc1,*sc2,*f;
     12 string g[4]={"","","×","÷"};
     13 cout<<"请问您想输出多少题目?"<<endl;
     14 cin>>p;
     15 cout<<"请输入操作数值最大范围。"<<endl;
     16 cin>>v;
     17 cout<<"请问是否含有真分数?"<<endl;
     18 cin>>n;
     19 s1=new int[p+1];//动态数组
     20 s2=new int[p+1];
     21 s3=new int[p+1];
     22 sc1=new string[p+1];
     23 sc2=new string[p+1];
     24 f=new string[p];
     25 cout<<"以下为随机选取的题目:"<<endl;
     26 if(n=='N')
     27 {
     28 for(i=1;i<=p;i++)
     29 {
     30     sc1[i]=g[rand()%4];
     31     sc2[i]=g[rand()%4];
     32     s1[i]=rand()%v+1;
     33     s2[i]=rand()%v+1;
     34     s3[i]=rand()%v+1;//随机取运算符和数,v为最大操作数。
     35         if(i==1)
     36         {cout<<s1[i]<<sc1[i]<<s2[i]<<sc2[i]<<s3[i]<<"=   ";
     37         }
     38         else
     39         {
     40             for(k=0;k<i;k++)//避免重复
     41             {
     42                 if(sc1[k]==sc1[i]&&sc2[k]==sc2[i]&&s1[k]==s1[i]&&s2[k]==s2[i]&&s3[k]==s3[i])
     43                 {
     44                     i--;
     45                     break;
     46                 }
     47                 else//比较到最后一个的时候输出题目
     48                 {
     49                     if(k==i-1)
     50                     {cout<<s1[i]<<sc1[i]<<s2[i]<<sc2[i]<<s3[i]<<"=   ";
     51                     }
     52                 }
     53             }
     54         }
     55             if(i%3==0)//每行输出3题目
     56         {
     57             cout<<endl;
     58             cout<<endl;//每行之间空一行
     59         }
     60 }
     61 }
     62 else if(n=='Y')
     63     {    
     64         for(i=1;i<=p;i++)
     65         {
     66     sc1[i]=g[rand()%4];
     67     sc2[i]=g[rand()%4];
     68     s1[i]=rand()%v+1;
     69     s2[i]=rand()%v+1;
     70     s3[i]=rand()%v+1;//随机取运算符和数,v为最大操作数。for(i=1;i<=p;i++)
     71         a=rand()%100;
     72         b=rand()%3;//在三个整数确定一个为真分数
     73         if(b==1&&a>s1[i])
     74         {
     75             if(i==1)
     76             {
     77                 cout<<s1[i]<<"/"<<a<<sc1[i]<<s2[i]<<sc2[i]<<s3[i]<<"=   ";
     78             }
     79             else
     80             {
     81                 for(k=0;k<i;k++)
     82                 {
     83                     if(sc1[k]==sc1[i]&&sc2[k]==sc2[i]&&s1[k]==s1[i]&&s2[k]==s2[i]&&s3[k]==s3[i])
     84                     {
     85                         i--;
     86                         break;
     87                     }
     88                     else//比较到最后一个的时候输出题目
     89                     {
     90                         if(k==i-1)
     91                         {cout<<s1[i]<<"/"<<a<<sc1[i]<<s2[i]<<sc2[i]<<s3[i]<<"=   ";
     92                         }
     93                     }
     94                 }
     95             }
     96             if(i%3==0)//每行输出3题目
     97         {
     98             cout<<endl;
     99             cout<<endl;//每行之间空一行
    100         }
    101         }
    102         else if(b==2&&a>s2[i])
    103         {
    104             if(i==1)
    105             {
    106                 cout<<s1[i]<<sc1[i]<<s2[i]<<"/"<<a<<sc2[i]<<s3[i]<<"=   ";
    107             }
    108             else
    109             {
    110                 for(k=0;k<i;k++)
    111                 {
    112                     if(sc1[k]==sc1[i]&&sc2[k]==sc2[i]&&s1[k]==s1[i]&&s2[k]==s2[i]&&s3[k]==s3[i])
    113                     {
    114                         i--;
    115                         break;
    116                     }
    117                     else//比较到最后一个的时候输出题目
    118                     {
    119                         if(k==i-1)
    120                         {cout<<s1[i]<<sc1[i]<<s2[i]<<"/"<<a<<sc2[i]<<s3[i]<<"=   ";
    121                         }
    122                     }
    123                 }
    124             }
    125             if(i%3==0)//每行输出3题目
    126         {
    127             cout<<endl;
    128             cout<<endl;//每行之间空一行
    129         }
    130         }
    131         else if(b==3&&a>s3[i])
    132         {
    133             if(i==1)
    134             {
    135                 cout<<s1[i]<<sc1[i]<<s2[i]<<sc2[i]<<s3[i]<<"/"<<a<<"=   ";
    136             }
    137             else
    138             {
    139                 for(k=0;k<i;k++)
    140                 {
    141                     if(sc1[k]==sc1[i]&&sc2[k]==sc2[i]&&s1[k]==s1[i]&&s2[k]==s2[i]&&s3[k]==s3[i])
    142                     {
    143                         i--;
    144                         break;
    145                     }
    146                     else//比较到最后一个的时候输出题目
    147                     {
    148                         if(k==i-1)
    149                         {cout<<s1[i]<<sc1[i]<<s2[i]<<sc2[i]<<s3[i]<<"/"<<a<<"=   ";
    150                         }
    151                     }
    152                 }
    153             }
    154             if(i%3==0)//每行输出3题目
    155         {
    156             cout<<endl;
    157             cout<<endl;//每行之间空一行
    158         }
    159         }
    160         else
    161         {i--;
    162         }
    163         }
    164         }
    165    return 0;
    166 }

    运行截图:

  • 相关阅读:
    Spark概念介绍
    KVM web管理工具——WebVirtMgr(一)
    Spark集群搭建
    阿里云DTS VS MySQLdump
    MySQL性能分析和优化-part 1
    为什么logstash进程的CPU使用率100%?
    技本功丨互联网+工业视觉异常检测分析
    Spark集群管理器介绍
    某云下系统上云方案及成本计算
    企业混合云架构设计
  • 原文地址:https://www.cnblogs.com/guantianhuan/p/9757397.html
Copyright © 2011-2022 走看看