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

你怎么做的、帮我写下、。谢谢我是大一的。看不懂。帮我用大一的c++程序做下。好吗?谢谢。... 你怎么做的、 帮我写下、。谢谢
我是大一的。看不懂。帮我用大一的c++程序做下。好吗? 谢谢。
展开
zhaoyujohn
2010-12-08 · TA获得超过503个赞
知道小有建树答主
回答量:168
采纳率:0%
帮助的人:170万
展开全部
#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++;
}
}
来自:求助得到的回答
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xuanxuan163com
2010-12-07 · TA获得超过2768个赞
知道大有可为答主
回答量:1709
采纳率:75%
帮助的人:1590万
展开全部
#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条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式