题目描述
随机产生俩个数,随机产生运算符,依据运算符输出对应的表达式,用户输入答案,系统判断用户的正确性,同时统计所有题目中的加法减法乘法除法题目的数量,并统计相关各类的运算率.
案例代码
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main() {
int num1, num2, answer, userAnswer;
char operator;
int additionCount = 0, subtractionCount = 0, multiplicationCount = 0, divisionCount = 0;
int additionCorrect = 0, subtractionCorrect = 0, multiplicationCorrect = 0, divisionCorrect = 0;
srand(time(NULL)); // 设置随机数种子
for (int i = 0; i < 10; i++) {
// 随机生成两个数字和运算符
num1 = rand() % 100 + 1;
num2 = rand() % 100 + 1;
int operatorIndex = rand() % 4;
switch (operatorIndex) {
case 0:
operator = '+';
additionCount++;
answer = num1 + num2;
break;
case 1:
operator = '-';
subtractionCount++;
answer = num1 - num2;
break;
case 2:
operator = '*';
multiplicationCount++;
answer = num1 * num2;
break;
case 3:
operator = '/';
divisionCount++;
// 避免除法出现小数
num1 = num2 * (rand() % 10 + 1);
answer = num1 / num2;
break;
}
printf("题目 %d: %d %c %d = ", i+1, num1, operator, num2);
scanf("%d", &userAnswer);
if (userAnswer == answer) {
printf("回答正确!\n");
switch (operatorIndex) {
case 0:
additionCorrect++;
break;
case 1:
subtractionCorrect++;
break;
case 2:
multiplicationCorrect++;
break;
case 3:
divisionCorrect++;
break;
}
} else {
printf("回答错误!正确答案是:%d\n", answer);
}
}
// 输出统计结果
printf("\n加法题目数量:%d,正确率:%.2f%%\n", additionCount, (float) additionCorrect / additionCount * 100);
printf("减法题目数量:%d,正确率:%.2f%%\n", subtractionCount, (float) subtractionCorrect / subtractionCount * 100);
printf("乘法题目数量:%d,正确率:%.2f%%\n", multiplicationCount, (float) multiplicationCorrect / multiplicationCount * 100);
printf("除法题目数量:%d,正确率:%.2f%%\n", divisionCount, (float) divisionCorrect / divisionCount * 100);
return 0;
}
在这个程序中,我们使用了rand()
函数来生成随机数,并使用srand(time(NULL))
来设置随机种子,以确保每次运行时都有不同的随机数序列。
通过for
循环生成10个算术题目。我们使用rand() % 100 + 1
来生成1到100之间的随机数。然后,通过rand() % 4
生成0到3之间的随机数,用于选择运算符。根据运算符的不同,我们执行相应的运算并计算出正确答案。
接下来,使用printf
输出题目,并使用scanf
获取用户输入的答案。根据用户的回答,判断答案是否正确,并统计各类题目的数量和正确率。
最后,使用printf
输出加法、减法、乘法、除法题目的数量和正确率。
注意:此程序仅作为示例,没有进行错误处理和边界检查。在实际应用中,可能需要添加额外的逻辑以确保程序的稳定性和正确性。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END