满意答案
依然benlv
2014.01.13
采纳率:59% 等级:12
已帮助:11395人
简单问题要自己动手写,否则永远不会,本来不想回答的。。
//ÒªÇó£ºÊ×ÏÈËæ¼´³öÏÖÁ½¸öÊý×Ö£¬½øÐиöλÊý×ÖÒÔÄÚµÄÔËË㣬¼õ·¨ÎÞ¸ºÊý£¬
//³ý·¨Òª³ý¾¡£¬µ±×ö¶ÔµÄ±ÈÀý´ïµ½ÁË0.9»òÒÔÉÏʱ½øÐÐʮλÔËË㣬
#include
#include
#include
int main()
{
srand((unsigned) time (0));
float rate=0.0;
int a, b, tmp = 0, right = 0, wrong = 0, tmp_1, result=0, answer=0;
char calc;
while(true)
{
//printf("right = %d, wrong = %d, rate = %f\n", right, wrong, rate);
if(rate < 0.9)
{
a = rand() % 9 + 1;
b = rand() % 9 + 1;
}
else
{
a = rand() % 90 + 10;
b = rand() % 90 + 10;
}
tmp = rand() % 4;
switch(tmp)
{
case 0: calc = '+'; break;
case 1: calc = '-'; break;
case 2: calc = '*'; break;
case 3: calc = '/'; break;
}
if(calc == '-' || calc == '/')
{
if(a < b)
{
tmp_1 = a;
a = b;
b = tmp_1;
}
}
if(calc == '/')
{
if(a % b != 0)
{
continue;
}
}
switch(calc)
{
case '+' : result = a + b; break;
case '-' : result = a - b; break;
case '*' : result = a * b; break;
case '/' : result = a / b; break;
default : {printf("error\n"); continue; }
}
printf("%d %c %d = ",a, calc, b);
scanf("%d",&answer);
if(answer == result)
{
printf("you are right, congratulations!!\n");
right ++;
}
else
{
printf("you are wrong, come on!!\n");
wrong ++;
}
rate = (float)right / (right + wrong);
}
return 0;
}
很多地方需要改进,自己优化吧
23分享举报