c语言问题 请问如何随机产生加减乘除任意一种运算符号呢

任务4 最好在我发的代码上改一改 谢谢大佬

#include <stdlib.h>
#include <time.h>
int main()
{
int a,b,i,s,num,n=0;
char ch,cal[4]={'+','-','*','/'};
srand(time(NULL));
for(i=0;i<10;i++)
{
a=rand()%10+1;
ch=cal[rand()%4];
b=rand()%10+1;
printf("%d%c%d=",a,ch,b);
switch(ch)
{
case '+':s=a+b;break;
case '-':s=a-b;break;
case '*':s=a*b;break;
case '/':s=a/b;break;
}
scanf("%d",&num);
if(num==s)
{
printf("Right!\n");
n++;
}
else printf("Wrong!\n");
}
printf("总分: %d\n正确率: %%%d",n*10,n*10);
return 0;
}

追问

大佬 我按照你发的改了下 任务四可以了 可以指点一下任务五嘛

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-10-28
这个简单你定义一个数组, 然后随机读取数组下标就可以我写个随机读取 + - * /的函数给你, 你自己调用就可以function ReadSign: Char;
const
Sign: array[0..3] of Char = ('+', '-', '*', '/');
begin
Randomize;
Result := Sign[Random(3)];
end;本回答被提问者采纳
第2个回答  2018-10-28
#include <stdlib.h> #include <stdio.h> #include <time.h> void main( void ) { int i,t; char a; srand( (unsigned)time( NULL ) ); t=rand()%4; if (t==0) a='+'; if (t==1) a='-'; if (t==2) a='x'; if (t==3) a='/'; printf( " %6c\n", a); }
第3个回答  2018-10-27
#include "stdio.h"
#include <stdlib.h>
#include "time.h"
int main(int argc,char *argv[]){
char s[5]="+-*/",i;
srand((unsigned)time(NULL));
for(i=0;i<10;i++)
printf("%d %c %d = ?\n",rand()%10,s[rand()%4],rand()%10);
return 0;
}

运行样例:

只是写出了怎么随机产生+-*/,其他自己弄。希望能帮助到你……

c语言问题 请问如何随机产生加减乘除任意一种运算符号呢
include <stdlib.h>#include int main(){int a,b,i,s,num,n=0;char ch,cal[4]={'+','-','*','\/'};srand(time(NULL));for(i=0;i<10;i++){a=rand()%10+1;ch=cal[rand()%4];b=rand()%10+1;printf("%d%c%d=",a,ch,b);switch(ch){case '+':s=a+b;break;ca...

c语言问题 请问如何随机产生加减乘除任意一种运算符号呢
这个简单你定义一个数组,然后随机读取数组下标就可以我写个随机读取 + - \/的函数给你,你自己调用就可以function ReadSign:Char;const Sign:array[0..3]of Char = ('+','-','*','\/');begin Randomize;Result := Sign[Random(3)];end;

c语言如何随机100以内的加减乘除算术题
如果只包含一个运算符你可以直接随机数,首先给运算符编号:如:+1,-2,*3,÷4然后表达式:a=随机函数算出的100以内整数b=随机函数算出的100以内整数c=随机运算符的编号然后casecc=1\/\/即加法的时候计算a+bc=2\/\/即减法的时候计算a-b(此时需要判断a和b的大小,如果a...

用C语言编程随机产生一道包含加减乘除的数学题?
v2 = GEN_VALUE(); \/\/随机生成第2个算数 op = ops[ RANDOM(0,3) ]; \/\/随机决定是哪个运算符 \/\/保证第1个算数大于第2个算数,如不需要,则把这个判断删除即可 if( v1<v2 ){ t = v1;v1 = v2;v2 = t;} \/\/如果运算符为除法,且v1不能被v2整除则重新生成题目 if( op=...

c语言如何随机100以内的加减乘除算术题
如果只包含一个运算符你可以直接随机数,首先给运算符编号

C语言随机产生四则运算,加减乘除最少一次怎么处理?
既然是,随机产生四则运算,那么就让计算机产生一个0到3之间的随机整数,然后根据得到的随机整数来确定采用哪种运算,数字零代表加,一代表减,二代表乘法,三代表除法。因为产生的数量有十个,所以一般运算符都是会产生的。为确保万无一失,可以,前面四个分别是加减乘除,后面四个就让它随机产生。

...加减乘除四种运算。输入两个操作数和一个运算符号。输出结果_百度知 ...
void main(){ float a,b,c;char ch,ch1;printf("请输入表达式如 5+6= 然后按回车键:");scanf("%f%c%f%c",&a,&ch,&b,&ch1);switch(ch){ case '+':c=a+b;printf("%f+%f=%f\\n",a,b,c);break;case '-':c=a-b;printf("%f-%f=%f\\n",a,b,c);break;case '*':c=a...

C语言问题: 设计一个简易计算器,要求:能够进行任意多个数的加减乘除四...
char theta,x,c;int opera,a,b;fbase=OPTR;ftop=fbase;*ftop='#';ftop++; \/\/定位字符指针、置字符栈底为#号 nbase=OPND;ntop=nbase; \/\/定位数字指针 printf("请输入等式(以#结束):\\n");c=getchar();while(c!='#'||*(ftop-1)!='#'){if(c>='0'&&c<='9') {*nto...

c语言编程题,计算二十四点 随机生成四个1~10的数字,使用加减乘除运算...
最随机数1-10 赋值A,最随机数1-赋值B,共赋值ABCD,叛断,赋值A等于BCD,则重取随机数,然后叛断用ABCD相加或减等于24,等则输出,不等于则重取。include "stdlib.h"include "stdio.h"} NODE24;NODE24 head;int res=24;int maketree(int *src,int *i, NODE24 *p){ int d=src[*i];...

c语言 加减乘除 顺序
先加减后乘除。C语言中的加号、减号与数学中的一样,乘号、除号不同;另外C语言还多了一个求余数的运算符,就是 %。不同类型的除数和被除数会导致不同类型的运算结果:当除数和被除数都是整数时,运算结果也是整数;如果不能整除,那么就直接丢掉小数部分,只保留整数部分,这跟将小数赋值给整数类型...

相似回答