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

c\u8bed\u8a00\u95ee\u9898 \u8bf7\u95ee\u5982\u4f55\u968f\u673a\u4ea7\u751f\u52a0\u51cf\u4e58\u9664\u4efb\u610f\u4e00\u79cd\u8fd0\u7b97\u7b26\u53f7\u5462

\u8fd9\u4e2a\u7b80\u5355\u4f60\u5b9a\u4e49\u4e00\u4e2a\u6570\u7ec4,
\u7136\u540e\u968f\u673a\u8bfb\u53d6\u6570\u7ec4\u4e0b\u6807\u5c31\u53ef\u4ee5\u6211\u5199\u4e2a\u968f\u673a\u8bfb\u53d6
+
-
*
/\u7684\u51fd\u6570\u7ed9\u4f60,
\u4f60\u81ea\u5df1\u8c03\u7528\u5c31\u53ef\u4ee5function
ReadSign:
Char;
const
Sign:
array[0..3]
of
Char
=
('+',
'-',
'*',
'/');
begin
Randomize;
Result
:=
Sign[Random(3)];
end;

\u5c06\u8fd0\u7b97\u7b26\u5b58\u50a8\u5230\u4e00\u4e2a\u5b57\u7b26\u6570\u7ec4\u4e2d\uff0c\u7136\u540e\uff0c\u6309\u6570\u7ec4\u5143\u7d20\u4e2a\u6570\u751f\u6210\u968f\u673a\u6570\uff0c\u6839\u636e\u968f\u673a\u6570\u4ece\u6570\u7ec4\u4e2d\u83b7\u5f97\u76f8\u5e94\u7684\u8fd0\u7b97\u7b26\u53f7\u3002
\u5b9e\u73b0\u65b9\u6cd5\uff1a
\u5efa\u7acb\u6570\u7ec4 char a[]\uff0c\u5e76\u521d\u59cb\u5316\uff0c\u5c06\u8fd0\u7b97\u7b26\u5b58\u50a8\u5176\u4e2d
\u8bbe\u7f6e\u968f\u673a\u79cd\u5b50 srand(time(NULL));
\u83b7\u5f97\u6570\u7ec4\u4e2d\u5143\u7d20\u4e2a\u6570\uff0cn=sizeof(a)/sizeof(a[0]) ;
\u751f\u62100-n\u7684\u968f\u673a\u6570 i=rand()%n
\u6839\u636e\u968f\u673a\u6570\uff0c\u4ece\u6570\u7ec4\u4e2d\u53d6\u5f97\u8fd0\u7b97\u7b26\uff0c\u8f93\u51faa[i]
\u53c2\u8003\u4ee3\u7801\uff1a

#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++;
}
else printf("Wrong!
");
}
printf("总分: %d
正确率: %%%d",n*10,n*10);
return 0;
}


这个简单你定义一个数组, 然后随机读取数组下标就可以我写个随机读取 + - * /的函数给你, 你自己调用就可以function ReadSign: Char;
const
Sign: array[0..3] of Char = ('+', '-', '*', '/');
begin
Randomize;
Result := Sign[Random(3)];
end;

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

#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 = ?
",rand()%10,s[rand()%4],rand()%10);
return 0;
}

运行样例:

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



扩展阅读:扫一扫题目出答案 ... c#随机数怎么写 ... 以色列语言翻译器 ... c#编辑器 ... 翻译动物语言的软件 ... 随机数种子有哪些 ... c语言如何输入随机数 ... c#教程 自学 ... 免费拍照答题一秒出答案 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网