精选问答
2.编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题,基本要求:用户可以选择题型(加、减、乘、除),运算数的位数,本次运行出题的题量(数目),然后计算机随机出题,用户给出答案,计算机随后给出判定结果,然后出下一题,所有题目完成后,计算机给出本次测试的得分(百分制,设每题得分为100/题量).思考:按基本要求,一次测试(即程序的一次运行),计算机在用户选定题型后,所有题目为同一类型,如全部是加法题等.增加一个题型选项“混合”,此时一次测试,计算机及可随机生成不同类型的题目.提示:可使用函数“ra

2019-05-29

2.编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题,
基本要求:用户可以选择题型(加、减、乘、除),运算数的位数,本次运行出题的题量(数目),然后计算机随机出题,用户给出答案,计算机随后给出判定结果,然后出下一题,所有题目完成后,计算机给出本次测试的得分(百分制,设每题得分为100/题量).
思考:按基本要求,一次测试(即程序的一次运行),计算机在用户选定题型后,所有题目为同一类型,如全部是加法题等.增加一个题型选项“混合”,此时一次测试,计算机及可随机生成不同类型的题目.
提示:可使用函数“rand()%10”或“rand()%100”来获得一个0到9的一位整数随机值或得到0到99的两位整数随机值来为用户出题.
优质解答
#include
#include
int main(void)
{
\x05int time,width,type,tmp,right = 0;
\x05int a,b,c;
\x05printf("运算次数:");
\x05scanf("%d",&time);
\x05tmp = time;
\x05printf("操作数位数:");
\x05scanf("%d",&width);
\x05width = pow(10,width);
\x05printf("运算类型(+ -> 0,- -> 1,* -> 2,/ ->3):");
\x05scanf("%d",&type);
\x05while (tmp--)
\x05{
\x05\x05a = rand() % width;
\x05\x05b = rand() % width;
\x05\x05switch (type)
\x05\x05{
\x05\x05case 0:
\x05\x05\x05printf("%d + %d = ",a ,b);
\x05\x05\x05scanf("%d",&c);
\x05\x05\x05if (a + b == c)
\x05\x05\x05{
\x05\x05\x05\x05printf("Right!");
\x05\x05\x05\x05right++;
\x05\x05\x05}
\x05\x05\x05else
\x05\x05\x05\x05printf("Wrong!");
\x05\x05\x05break;
\x05\x05case 1:
\x05\x05\x05printf("%d - %d = ",a ,b);
\x05\x05\x05scanf("%d",&c);
\x05\x05\x05if (a - b == c)
\x05\x05\x05{
\x05\x05\x05\x05printf("Right!");
\x05\x05\x05\x05right++;
\x05\x05\x05}
\x05\x05\x05else
\x05\x05\x05\x05printf("Wrong!");
\x05\x05\x05break;
\x05\x05case 2:
\x05\x05\x05printf("%d * %d = ",a ,b);
\x05\x05\x05scanf("%d",&c);
\x05\x05\x05if (a * b == c)
\x05\x05\x05{
\x05\x05\x05\x05printf("Right!");
\x05\x05\x05\x05right++;
\x05\x05\x05}
\x05\x05\x05else
\x05\x05\x05\x05printf("Wrong!");
\x05\x05\x05break;
\x05\x05case 3:
\x05\x05\x05printf("%d / %d = ",a ,b);
\x05\x05\x05scanf("%d",&c);
\x05\x05\x05if (a / b == c)
\x05\x05\x05{
\x05\x05\x05\x05printf("Right!");
\x05\x05\x05\x05right++;
\x05\x05\x05}
\x05\x05\x05else
\x05\x05\x05\x05printf("Wrong!");
\x05\x05\x05break;
\x05\x05default:
\x05\x05\x05printf("wokao!");
\x05\x05}
\x05}
\x05
\x05printf("you get %f ",100.0 * right / (float)time);
\x05return 0;
}
#include
#include
int main(void)
{
\x05int time,width,type,tmp,right = 0;
\x05int a,b,c;
\x05printf("运算次数:");
\x05scanf("%d",&time);
\x05tmp = time;
\x05printf("操作数位数:");
\x05scanf("%d",&width);
\x05width = pow(10,width);
\x05printf("运算类型(+ -> 0,- -> 1,* -> 2,/ ->3):");
\x05scanf("%d",&type);
\x05while (tmp--)
\x05{
\x05\x05a = rand() % width;
\x05\x05b = rand() % width;
\x05\x05switch (type)
\x05\x05{
\x05\x05case 0:
\x05\x05\x05printf("%d + %d = ",a ,b);
\x05\x05\x05scanf("%d",&c);
\x05\x05\x05if (a + b == c)
\x05\x05\x05{
\x05\x05\x05\x05printf("Right!");
\x05\x05\x05\x05right++;
\x05\x05\x05}
\x05\x05\x05else
\x05\x05\x05\x05printf("Wrong!");
\x05\x05\x05break;
\x05\x05case 1:
\x05\x05\x05printf("%d - %d = ",a ,b);
\x05\x05\x05scanf("%d",&c);
\x05\x05\x05if (a - b == c)
\x05\x05\x05{
\x05\x05\x05\x05printf("Right!");
\x05\x05\x05\x05right++;
\x05\x05\x05}
\x05\x05\x05else
\x05\x05\x05\x05printf("Wrong!");
\x05\x05\x05break;
\x05\x05case 2:
\x05\x05\x05printf("%d * %d = ",a ,b);
\x05\x05\x05scanf("%d",&c);
\x05\x05\x05if (a * b == c)
\x05\x05\x05{
\x05\x05\x05\x05printf("Right!");
\x05\x05\x05\x05right++;
\x05\x05\x05}
\x05\x05\x05else
\x05\x05\x05\x05printf("Wrong!");
\x05\x05\x05break;
\x05\x05case 3:
\x05\x05\x05printf("%d / %d = ",a ,b);
\x05\x05\x05scanf("%d",&c);
\x05\x05\x05if (a / b == c)
\x05\x05\x05{
\x05\x05\x05\x05printf("Right!");
\x05\x05\x05\x05right++;
\x05\x05\x05}
\x05\x05\x05else
\x05\x05\x05\x05printf("Wrong!");
\x05\x05\x05break;
\x05\x05default:
\x05\x05\x05printf("wokao!");
\x05\x05}
\x05}
\x05
\x05printf("you get %f ",100.0 * right / (float)time);
\x05return 0;
}
相关问答