• 四则运算


    源代码

    #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
    {};
    }
    void 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);

    }

    不足之处是,少了当时做当时验算的功能,参考了别人的代码,加以改进的。

  • 相关阅读:
    常见的单链表题目
    一个string类的几个函数
    strcpy和memcpy的区别
    字符串及 strcpy几种写法
    什么函数不能声明为虚函数
    STL中Vector和List的底层数据结构
    C/C++堆、栈及静态数据区详解
    tcp四次握手
    几个知识点
    内存对齐的规则与作用
  • 原文地址:https://www.cnblogs.com/bobbywei/p/4363423.html
Copyright © 2020-2023  润新知