C++產生隨機數四則運算


  產生兩位隨機整數,隨機四則運算符,生成30道運算題。

一、編程思路

  看到要求,首先想到的是怎么運用隨機數,因為自己對隨機數的不熟練所以還要在查很多東西。在一個for循環內先產生兩個30以內的隨機數,在產生一個4以內的隨機數,讓0、1、2、3分別對應不同的運算符,之后輸出題目,輸入數據,判斷正確,輸出判斷結果。

二、代碼

//2015年3月6日,30道四則運算
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
using namespace std;


void main()
{
    int A[30],B[30],i,k,t,T,a[30],b[30],c[30];
    char C;
    srand((unsigned)time(NULL));    
    t=0;T=0;

    for(i = 0;i<30;i++)
    {
//產生隨機符號
    k = rand()%4;
    if(k == 0)
        C = '+';
    else if(k == 1)
        C = '-';
    else if(k == 2)
        C = '*';
    else if(k == 3)
        C = '/';
    A[i] = rand()%100;
    B[i] = rand()%100;
//輸出題目
    if(C == '+')
    {cout<<A[i]<<"+"<<B[i]<<"=?"<<endl;a[i] = A[i]+B[i];}
    else if(C == '-')
    {cout<<A[i]<<"-"<<B[i]<<"=?"<<endl;a[i] = A[i]-B[i];}
    else if(C == '*')
    {cout<<A[i]<<"*"<<B[i]<<"=?"<<endl;a[i] = A[i]*B[i];}
    else if(C == '/')
    {cout<<A[i]<<"/"<<B[i]<<"=?"<<endl;a[i] = A[i]/B[i];}
    }
//輸出結果
    cout<<"結果為:";
    for(i=0;i<30;i++)
    {
        cin>>b[i];
        if(a[i] == b[i])
            t++;
        else
        {
            c[T] = i;
            T++;
        }
    }

    if(t==29)
        cout<<"恭喜你都答對了!"<<endl;
    else
    {
        cout<<"";
        for(i=0;i<T;i++)
            cout<<c[i]+1<<"題錯了!"<<endl;
    }
}

三、運行結果

四、遇到的困難

  主要是隨機數的應用問題,還有調用函數,后來就合並為一個函數。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM