为什么测试时老是显示随机函数名不合法呢。
#include<iostream.h>#include<stdlib.h>
int Rand(int,int);
void main()
{
int a,b,c,d,i,j=0,m,n,x;
char op,as;
while(1){
cout<<"请问是否进行练习,是请按Y,否请按N;";
cin>>as;
if(as=='n'||as=='N') break;
cout<<"现在开始进行练习,请选择练习的难度,请选1或2;"<<endl;
cin>>x;
if(x=1) m=0,n=10;
else m=10,n=100;
while(1){
cout<<"请选择运算的类型,+,-,*,/,混合类型请按h"<<endl;
cin>>op;
if(op != '+' && op != '-' && op != '*' && op != '/' && op!='h' && op!='H') {cout<<"输入有误,请得新输入:";
continue;}
else break;
}
while(i=0,i>10,i++){
if(op=='h'||op=='H') switch(rand()%4)
{case 0: op='+';break;
case 1: op='-';break;
case 2: op='*';break;
case 3: op='/';break;
}
while(1){
a=Rand(m,n),R=Rand(m,n);
if(op=='-') if(a<b) continue;
if(op=='/') if(int( a / b ) != (a / b) ||b==0) continue;
break;
switch(op)
{case'+': d=a+b;break;
case'-': d=a-b;break;
case'*': d=a*b;break;
case'/': d=a/b;break;
}
cout<<"请输入答案"<<a<<op<<b<<'='<<endl;
cin>>c;
if(c==d){j++;cout<<"答对了,加十分"<<endl;}
else cout<<"答错了!"<<endl;
}
cout<<"你的分数为:"<<10*j<<'分'<<endl;
}
int Rand(int m, int n)
{ static int r; //静态变量保留上一个随机数
do
{ r = ( 25173*r + 13849 ) % 65536 ;}
while (r<m||r>=n);
return r;
}
[[it] 本帖最后由 夜无涯 于 2009-7-23 10:47 编辑 [/it]]