小学生系统测验 小学生测验系统 要求测验一二年级小学生加法和减 法的算术问题。 本人打算面向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 10:37:30 浏览: 23
这是一个比较复杂的程序,涉及到随机数生成、循环、条件判断、指针、结构体等多个知识点。以下是一个参考的C语言程序,仅供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
// 定义结构体,表示题目
typedef struct {
int num1;
int num2;
char op; // '+' or '-'
int answer; // 答案
int score; // 得分
} Question;
int main() {
int i, j, k, n, ans, total_score = 0;
Question q[10]; // 存储10道题目
char input[10]; // 存储用户输入的答案
srand(time(NULL)); // 初始化随机数种子
// 随机生成10道题目
for (i = 0; i < 10; i++) {
q[i].num1 = rand() % 51; // 0~50之间的随机整数
q[i].num2 = rand() % 51;
q[i].op = rand() % 2 == 0 ? '+' : '-'; // 随机生成加减号
q[i].answer = q[i].op == '+' ? q[i].num1 + q[i].num2 : q[i].num1 - q[i].num2; // 计算正确答案
q[i].score = 0; // 初始化得分为0
}
// 循环进行10道题目的测试
for (i = 0; i < 10; i++) {
// 清屏
system("cls");
// 显示题目
printf("第%d题:\n", i+1);
printf("%d %c %d = ?\n", q[i].num1, q[i].op, q[i].num2);
// 循环进行3次答题机会
for (j = 0; j < 3; j++) {
printf("请输入答案(0~50之间的整数):");
scanf("%d", &ans);
if (ans == q[i].answer) { // 答案正确
switch (j) { // 根据答题次数,设置得分
case 0:
q[i].score = 10;
break;
case 1:
q[i].score = 7;
break;
case 2:
q[i].score = 5;
break;
}
break; // 跳出答题机会循环
} else { // 答案错误
printf("答案错误,请重新输入!\n");
}
}
if (q[i].score == 0) { // 答题机会用尽,显示正确答案
printf("回答错误!答案是:%d\n", q[i].answer);
} else { // 显示得分
printf("回答正确!得分:%d\n", q[i].score);
}
total_score += q[i].score; // 累计总分
// 等待用户按任意键
printf("请按任意键继续...\n");
getchar(); // 消耗回车键
getchar();
}
// 显示总成绩
printf("测试结束!总得分:%d\n", total_score);
// 根据总成绩显示评价
if (total_score >= 90) {
printf("评价:SMART\n");
} else if (total_score >= 80) {
printf("评价:GOOD\n");
} else if (total_score >= 70) {
printf("评价:OK\n");
} else if (total_score >= 60) {
printf("评价:PASS\n");
} else {
printf("评价:TRY AGAIN\n");
}
return 0;
}
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)