本程序设计满足以下功能:
- 随机生成两个整数x和y,并且满足两数相加不大于100,两数相减不为负数。
- 随机出10道题,每题10分,程序结束时显示学生得分和等级。
- 每道题学生只有一次机会输入答案,当学生输入错误答案时,系统将显示正确答案并自动进入下一题。
- 对于每道题,学生输入正确答案不得分,输入错误答案扣10分。
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
int main() {
printf("\t\t\t\t\t小学生算术出题器\n");
srand((unsigned int)time(NULL));//生成随机数种子
int sum = 100; //总分为100分
int a, x, y, z;//答题者答案,num1,num2,随机数参数
int answer;
int i;
for (i = 1; i <= 10; i++) { //输出10道加减运算题;
z = rand() % 2 + 1;
switch (z) { //通过rand();函数及switch算法生成随机数
case 1://加法运算
x = rand() % 50 + 1;
y = rand() % 50 + 1;
printf("%d+%d=", x, y);
answer = x + y;
break;
case 2://减法运算
x = rand() % 50 + 1;
do {
y = rand() % 50 + 1;
} while (x < y);//循环使得x始终大于y
printf("%d-%d=", x, y);
answer = x - y;
break;
}
scanf("%d", &a);//答题者输入答案
if (a == answer) {
sum = sum + 0;
printf("答案正确\n");
} else {
sum = sum - 10;
printf("答案错误,正确答案为:%d\n", answer);
}
}
printf("本次答题总分为%d\n", sum);
printf("GOOD");//得出总分
if (sum > 90) {
printf("SMART");
} else {
if (sum > 80) {
} else {
if (sum > 70) {
printf("OK");
} else {
if (sum > 60) {
printf("PASS");
} else {
printf("TRY AGAIN");
}//生成评价
}
}
}
}