1题;一个计算机随机产生10道四则运算题,两个操作数为1~10之间的随机数、运算类型为随机产生的加,减,乘

你怎么做的、 帮我写下、。谢谢
我是大一的。看不懂。帮我用大一的c++程序做下。好吗? 谢谢。

第1个回答  2010-12-08
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

void main(void)
{
int count=0; //计数器
int num1,num2; //操作数1和操作数2
int oper; //运算符
int ans; //输入的答案

srand( (unsigned)time( NULL ) );
while(count<10)
{
num1=(int)(10*rand()/(RAND_MAX+1.0)); //0-10之间的随机数
num2=(int)(10*rand()/(RAND_MAX+1.0)); //0-10之间的随机数
oper=(int)((3*rand()/(RAND_MAX+1.0))+1); //1-4之间的随机数
switch(oper)
{
case 1:
{
printf("%d+%d=",num1,num2);
scanf("%d",&ans); //键盘输入结果ans
if(ans==(num1+num2)) //判断结果正确性
printf("right !\n");
else
printf("error!\n");
break;
}
case 2:
{
while(num1-num2<0) //若差小于0,重新生成num1和num2
{
num1=(int)(10*rand()/(RAND_MAX+1.0)); //0-10之间的随机数
num2=(int)(10*rand()/(RAND_MAX+1.0)); //0-10之间的随机数
}
printf("%d-%d=",num1,num2);
scanf("%d",&ans); //键盘输入结果ans
if(ans==(num1-num2)) //判断结果正确性
printf("right !\n");
else
printf("error!\n");
break;
}
case 3:
{
printf("%d*%d=",num1,num2);
scanf("%d",&ans); //键盘输入结果ans
if(ans==(num1*num2)) //判断结果正确性
printf("right !\n");
else
printf("error!\n");
break;
}
case 4:
{
while((num2==0)||(num1%num2!=0)) //若除数为 0 或者除数不能够整除除数,重新生成num1和num2
{
num1=(int)(10*rand()/(RAND_MAX+1.0)); //0-10之间的随机数
num2=(int)(10*rand()/(RAND_MAX+1.0)); //0-10之间的随机数
}
printf("%d/%d=",num1,num2);
scanf("%d",&ans); //键盘输入结果ans
if(ans==(num1/num2)) //判断结果正确性
printf("right !\n");
else
printf("error!\n");
break;
}
}
count++;
}
}来自:求助得到的回答
第1个回答  2010-12-08
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void creatrandom()
{
srand((unsigned)time(NULL));

int a= rand()%10;
int b= rand()%10;
int c= rand()%3;
int d;
char e;
switch(c){
case 0:e='+';d=a+b;break;
case 1:e='-';d=a-b;break;
case 2:e='*';d=a*b;break;
case 3:e='/';d=a/b;break;
}
cout<<a<<e<<b<<'='<<d<<endl;
}

Sub a()
Dim a As Integer
Dim b As Integer
Dim c As Integer
a = Int(Rnd * 10)
b = Int(Rnd * 10)
c = Int(Rnd * 4)
Select Case c
Case 0
Print a & "+" & b & "=" & a + b
Case 1
Print a & "-" & b & "=" & a - b
Case 2
Print a & "*" & b & "=" & a * b
Case 3
Print a & "/" & b & "=" & a / b
End Select
End Sub本回答被网友采纳

...两个操作数为1~10之间的随机数、运算类型为随机产生的加,减,乘...
int num1,num2; \/\/操作数1和操作数2 int oper; \/\/运算符 int ans; \/\/输入的答案 srand( (unsigned)time( NULL ) );while(count<10){ num1=(int)(10*rand()\/(RAND_MAX+1.0)); \/\/0-10之间的随机数 num2=(int)(10*rand()\/(RAND_MAX+1.0)); \/\/0-10之间的随...

随机产生10道四则运算题
10) 6.7+69.58+25.46

c语言编程
bonus=bonus10+(i-1000000)*0.01;printf(“bonus=%d“,bonus);} ===【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后 的结果满足如下条件,即是结果。请看具...

连续做10道题,通过计算机随机产生两个1~10之间的加数给学生出一道加法运...
math.random就是产生的随机数。用这个带入局可以了。

大学c语言!!编程题 帮忙看看我做的答案有没有错误!!谢谢大家了。_百度...
printf("请输入第%d题 %d+%d的结果=",n,a,b);scanf("%d",&s);if(s!=a+b){printf("错误!\\n");ts++;} else {printf("正确\\n");fs+=10;} } printf("总分=%d\\n",fs);printf("错误题数=%d\\n",ts);} \/*程序5 通过计算机随机产生10道加减运算题,两个操作数为1~10之间的...

利用计算机产生1-10的随机数(整数),连续两次随机数相同的概率是( )A...
列表如下:共有100种情况,连续两次随机数相同的有10种情况,所以,P(连续两次随机数相同)=10100=110.故选A.

怎样生成0到99之间的随机数字?
您可以使用 Excel 中的 "RAND" 和 "RANK" 函数以及一些逻辑函数来生成随机的数字,并将其分配到指定的区间内。以下是具体步骤:1. 首先,请确定您要使用的区间的最小值和最大值。2. 输入一个包含该区间所有可能值的列表,例如,在单元格 A1 到 A10 中输入 1 到 10 的数字。3. 在单元格 B1...

...只能做十道题,题目通过产生随机数组成的两位数的四则运算式组成...
Dim a As Integer, b As Integer, ab As String i = 0 Randomize a = Int(Rnd() * 99) + 30 Randomize b = Int(Rnd() * 99) + 30 Randomize k = Int(Rnd() * 10) + 1 s = 0 s1 = 0 If i > 10 Then MsgBox "Sorry,每次只能运算10题!"Exit Sub End If If k < 3...

计算器怎么产生随机数?
一般计算机的随机数都是伪随机数,以一个真随机数(种子)作为初始条件,然后用一定的演算法不停迭代产生随机数,下面介绍两种方法: 一般种子可以以当前的系统时间,这是完全随机的 。 演算法1:平方取中法。 1)将种子设为X0,并mod 10000得到4位数 2)将它平方得到一个8位数(不足8位时...

随机数是怎么产生的?
是算法,{An}是数列,这个数列看上去是随机的,这是因为An的通项很复杂。例如:从1、2、3、4、5、6、7、8、9、0这十个数中随机取出一个数,取出的数是6的话,那么6就叫随机数。十个数字就叫随机数种子。如果是从1到50之间取数字,取出的数字叫随机数,这1到50那50个数字就叫随机数种子。

相似回答