求助: 计算机自动出四则运算计算题,要求自动出0-10之间的四则运算题,并批改结果。
题目不是很清晰啊
有几点需要确认
1. 自动出0-10之间的四则运算,是说运算数和结果都在0-10之间吗?
2. 基本四则运算还是说复杂的?也就是说 只是简单的x (+-*/) y 还是时候可能有多个运算在其中?比如1+2*3/4-6这样的
#include
#include
#include
#include
int main()
{
int type;
int left, right;
float result;
srand(unsigned(time(NULL)));
while(1)
{
type = rand() % 4;
left = rand() % 10;
right = rand() % 10;
switch(type)
{
case 0:
printf("%d + %d = ?
", left, right);
scanf("%f", &result);
if(left + right == result)
printf("right!
");
else
printf("wrong!The result is %d
", left + right);
break;
case 1:
printf("%d - %d = ?
", left, right);
scanf("%f", &result);
if(left - right == result)
printf("right!
");
else
printf("wrong!The result is %d
", left - right);
break;
case 2:
printf("%d * %d = ?
", left, right);
scanf("%f", &result);
if(left * right == result)
printf("right!
");
else
printf("wrong!The result is %d
", left * right);
break;
case 3:
printf("%d / %d = ?
", left, right);
if(right == 0)
break;
scanf("%f", &result);
if(fabs(float(left) / right - result) <= 0.001 )
printf("right!
");
else
printf("wrong!The result is %.3f
", float(left) / right);
break;
}
}
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int i, count_title, num1, num2, magic, answer, result;
srand((unsigned)time(0));
count_title = rand()/(RAND_MAX/10); //产生0~9道题
for(i = 0; i < count_title; i++)
{
num1 = rand()/(RAND_MAX/10); //产生0~9的数 楼主你如果要求0~32767的话,将10改成 32767
num2 = rand()/(RAND_MAX/10);
magic = rand()/(RAND_MAX/4); //产生0~3 四则运算
printf("%d.", i+1); //题号
switch(magic)
{
case 0:
printf("%d + %d = ", num1, num2);
result = num1 + num2;
break;
case 1:
printf("%d - %d = ", num1, num2);
result = num1 - num2;
break;
case 2:
printf("%d * %d = ", num1, num2);
result = num1 * num2;
break;
case 3:
printf("%d / %d = ", num1, num2);
if(0 == num2)
{
printf("除数为0, 除法错误");
continue;
}
result = num1 / num2;
break;
}
scanf("%d", &answer); //输入结果
if(answer == result) //判断结果
printf("Yes, good!!!
");
else
printf("Sorry!, the result is %d
", result);
}
return 0;
}
ps:若有不明白的地方,可以追问
计算器是么 带括号的运算么
宫凌舒肟: #include #include #include int main() { int type; int left, right; float result; srand(unsigned(time(NULL))); while(1) { type = rand() % 4; left = rand() % 10; right = rand() % 10; switch(type) { case 0: printf("%d + %d = ?\n", left, right); scanf("%f", &...
文登市17191786857: 编一个c程序:通过计算机随机产生四则运算题,操作数为1~10,运算类型为+, - ,*,/. - ?
宫凌舒肟: #include "stdio.h"#include "stdlib.h"#include "time.h" void main(void) { char s = '=';//=号 char ch[5]="+-*/"; char symbol;//运算符7a686964616fe58685e5aeb931333339653732 int operand[2]={0};//两个操作数 int num;//题目数 int i;...
文登市17191786857: 用C语言设计一个儿童四则运算程序,根据用户的设定自动出题并对全部回答进行判断,全部答完后统计正确率 - ?
宫凌舒肟: /* Note:Your choice is C IDE */#include "stdio.h"#include"windows.h" int right=0,wrong=0; void add() { int a,b,c; a=rand()%100; b=rand()%100; printf("请回答:%d+%d=",a,b); scanf("%d",&c); if(a+b!=c){printf("回答错误\n");wrong++;...
文登市17191786857: 2. 编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题,题目形式: - ?
宫凌舒肟: #include <stdio.h>#include <math.h> int main(void) { int time, width, type, tmp, right = 0; int a, b, c; printf("运算次数: "); scanf("%d", &time); tmp = time; printf("操作数位数: "); scanf("%d", &width); width = pow(10, width); printf...
文登市17191786857: Pascal编程:不输入运算符,让计算机随机出四位数以内的四则运算的题,并可答题. - ?
宫凌舒肟: var a,b,c,t:integer; e:real; d:longint; begin randomize; a:=random(4)+1; b:=random(1001); c:=random(1001); write(b); case a of 1:begin write('+'); write(c,'=');read(t);while t<>b+c then readln(t); end; 2:begin write('-');write(c,'=');read(t); while t <>b-c then...
文登市17191786857: C语言 :编写一个函数,通过计算机随机产生一道四则运算题 - ?
宫凌舒肟: // clca4.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include #include #include using namespace std; void fun(int n) { int i, x = 0, s = 0, a = 0, b = 0, sum = 0, count = 0; srand((unsigned)time(NULL)); for (i = 0; i { a = rand() % 10; ...
文登市17191786857: C++代码通过计算机随机产生10道四则运算题,两个操作数为1~10之间的随机数,运算类型为随?
宫凌舒肟: #include<stdio.h> #include<stdlib.h> #include<time.h> static int m=0; static int n=0; int Add(int a,int b) //输入的算式 { int answer; printf("%d+%d=",a,b); scanf("%d",&answer); if(a+b==answer) return 1; else return 0; } void Print(int flag) //输出结...
文登市17191786857: 编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题;用户给出答案;计算机判断对错.直到用户回答说不再继续做了时结束程序.?
宫凌舒肟: int x,y,z,p; bool b; p为随机数除以4 的余数 即 加减乘除 x,y 为随机数 z为结果(将其强制转换为字符串与用户的输入值相比较) b为返回值
文登市17191786857: 1,编写一个程序,要求能自动出0~9之间的+, - ,*,÷四则运算的题目,然 后由用户 - ?
宫凌舒肟: 产生0~9用 send()%10 随即+-*/用send()%4 0是+,1是,- 2是*, 4是/ 和是不是不能超过10? 减法简单,要是负数,直接减数和被减数交换即可 乘法是不是要不大于10? 除法判断除数是否为零,和是否能被整除,不是重新产生过程就是先产生三个随机数,根据+-*/来判断是否符合条件,不符合,重新产生,知道符合条件,这个可以用一个循环来做 其实先产生+-*/,在产生0~9折几个数,根据+-*/来判断是否符合条件
文登市17191786857: C语言 让计算机在100以内数字随机产生两个进行随机四则运算 - ?
宫凌舒肟: 1. 产生100为模的两个数字,记录下来; 2. 生成一个以4为模的数字,1对应+,2对应-.... 3. 计算. 4. #include<stdio.h> #include <time.h>void main() {int i, j, calc, r;srand(time(NULL));i = rand()%100;j = rand()%100; calc = rand()%4;printf("i:%d,j:%d,c:%d\n", i,j,calc); }后面使用switch-case计算就行了