码迷,mamicode.com
首页 > 编程语言 > 详细

C++产生随机数四则运算

时间:2015-03-06 20:40:47      阅读:197      评论:0      收藏:0      [点我收藏+]

标签:

  产生两位随机整数,随机四则运算符,生成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;
    }
}

三、运行结果
技术分享

四、遇到的困难

  主要是随机数的应用问题,还有调用函数,后来就合并为一个函数。

 

C++产生随机数四则运算

标签:

原文地址:http://www.cnblogs.com/little-clever/p/4319144.html

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