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;
    }
}

三、运行结果

四、遇到的困难

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

时间: 2024-08-11 19:10:42

C++产生随机数四则运算的相关文章

第二次作业 随机数四则运算

源代码如下所示: #include<iostream.h>      #include<stdlib.h>      #include<time.h>      int main()      {      int a,b,c,t;      srand(time(NULL));      for(int i=0;i<30;i++)      {      a=rand()%100;      b=rand()%100;      c=rand()%4;     

个人作业三:四则运算一

四则运算1 一.设计思路: 1.程序的主体部分是循环输出,次数即题目数目由用户输入: 2.三个整型变量+rand函数来实现随机数四则运算,一个变量代表加减乘除,另外两个用作运算数: 3.用户体验:题目分三列,排列整洁间距适中,并且不会显示除数为0的情况. 二.源代码 // 四则运算.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include "iostre

2位“随机”数四则运算

今天上课老师现场留了个小作业:产生30个随机数四则运算 遇到了些问题,因为初学JAVA,random的用法一直出错.后来网上查了查.才理解. Random rand = new Random();             int firstnum = rand.nextInt(99)+1;可以产生1到99的随机数.如果是从0开始,就是int firstnum = rand.nextInt(100);产生0到99的随机数. 以下是我的具体代码: package jian; import java.

软件工程随堂小作业——随机四则运算(C++)

一.设计思路: 1.程序的主体部分是循环输出,次数即题目数目由用户输入: 2.三个整型变量+rand函数来实现随机数四则运算,一个变量代表加减乘除,另外两个用作运算数: 3.用户体验:题目分三列,排列整洁间距适中,并且不会显示除数为0的情况. 由于一个寒假没怎么接触编程,对我来说最大的困难就是不清楚rand函数的用法以及其所在的头文件.基本功能实现之后,我又调整了一下页面.添加了srand((unsigned)time(NULL));  .因为只用rand函数的话,每次运行程序计算机产生的随机数

随机数计算小学四则运算

今天上课时老师布置我们计算随机数的四则运算,在二十分鈡的时间里我无法完成,在寒假里玩的太多了,知识都忘得差不多了,在这里我先用time函数,确保随机数生成的不会相同,为了让随机数都是两位数,我用了rand%90+10,使生成的都是两位数,用rand%5随机生成加减乘除,下面是源代码: #include<iostream>#include<ctime>#include <cstdlib>using namespace std;void main(){ int a, b,d

随机数的四则运算2

1 #include<iostream> 2 #include<fstream> 3 #include<stdlib.h> 4 #include<string> 5 #include<stdio.h> 6 using namespace std; 7 #define N 100 8 9 void main() 10 { 11 int i,x,y,z,b,fanwei,n1,n2,n3; 12 int c0,c1,c2,c3,c4,c5,c6,c7

用C++实现简单的生成随机数目的四则运算的题目的程序

private void button1_Click(object sender, EventArgs e)        {            double n = Convert.ToDouble(textBox3.Text);            double m = Convert.ToDouble(textBox2.Text);            double q = Convert.ToDouble(textBox1.Text);            richTextBo

利用随机数生成器,编写一个小学生四则运算的练习程序

#include<iostream> using namespace std; int rand(int m, int n) { static int r; //默认初始值为0 do { r = (25173 * r + 13849) % 65536; } while (r < m||r >= n); return r; } void add(int, int*,double*); void sub(int, int*,double*); void mul(int, int*,do

四则运算随机数

import randomcount = 0right = 0while True: a = random.randint(0, 9) # 作为除数 b = random.randint(1, 9) op = ['+', '-', '*', '//'] d = random.choice(op) print('%d %s %d = ' % (a, d, b)) question = input('请输入您的答案: (q退出)') result1 = a + b result2 = a - b r