小学生系统测验 小学生测验系统 要求测验一二年级小学生加法和减 法的算术问题。 本人打算面向1~2年级小学生,随机选择两个整数 写成加減法形式要求学生解答。 电脑随机出十道题,每题十分,程序结束时显示学 生得分,确保算术没有超出1~2年级的水平,只允 许进行50以内的加减法,不允许两数之和或之差超 过0~50的范围,也不允许出现负数。 每道题学生有三次机会输入答案,当学生输入错误 答案时,提醒学生重新输入,如果三次机会结束则 输出正确答案。 对于每道题,学生第一次输入正确答案得10分,第 二次输入正确答案得7分,第三次输入正确答案得5 分,否则不得分。总成绩90以上品示“SMART”,8 0-90 "GOOD". 70-80"OK", 60-705 †"PASS", 6OLXT"TRY AGAIN"
时间: 2024-03-29 11:41:53 浏览: 148
好的,根据您的要求,我可以给您提供一个简单的C语言程序,用于实现小学生测验系统。以下是程序代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(NULL)); // 用当前时间作为随机数种子
int score = 0; // 学生得分
int answer; // 学生输入的答案
int count; // 学生尝试输入答案的次数
// 生成10道题目
for (int i = 0; i < 10; i++) {
int a = rand() % 51; // 随机生成0~50之间的整数a
int b = rand() % 51; // 随机生成0~50之间的整数b
int op = rand() % 2; // 随机生成加法或减法运算符
// 根据随机生成的运算符,生成对应的算术表达式
int result;
char operator;
if (op == 0) {
result = a + b;
operator = '+';
} else {
result = a - b;
operator = '-';
}
printf("第 %d 题: %d %c %d = ?\n", i+1, a, operator, b);
// 学生尝试输入答案
count = 0;
do {
printf("请输入您的答案:");
scanf("%d", &answer);
count++;
if (answer == result) {
switch (count) { // 根据学生尝试次数,给予不同的分数
case 1:
score += 10;
break;
case 2:
score += 7;
break;
case 3:
score += 5;
break;
}
break;
} else if (count == 3) {
printf("回答错误!正确答案是:%d\n", result);
} else {
printf("回答错误,请重新输入!\n");
}
} while (count < 3);
}
// 根据学生得分,输出评价
printf("您的得分是:%d\n", score);
if (score >= 90) {
printf("您的评价是:SMART\n");
} else if (score >= 80) {
printf("您的评价是:GOOD\n");
} else if (score >= 70) {
printf("您的评价是:OK\n");
} else if (score >= 60) {
printf("您的评价是:PASS\n");
} else {
printf("您的评价是:TRY AGAIN\n");
}
return 0;
}
```
这个程序可以随机生成10道加法或减法算术题,每道题目最多可以尝试输入三次答案,根据学生的答题情况,给予不同的分数,并最终根据学生的得分,输出评价。
阅读全文