用c语言编写一个程序,实现小学生运算器,用户可以根据自己的水平进行选择计算范围、运算方法、运算量,程序可以对用户的成绩进行统计和评价。要求: 1、程运行时,通过菜单进行选择; 2、对计算结果进行评价
时间: 2024-03-18 13:44:32 浏览: 13
好的,下面是用C语言实现小学生运算器的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
int range, method, num, correct = 0, total = 0;
float rate;
srand(time(NULL)); // 初始化随机数种子
printf("欢迎使用小学生运算器!\n");
while (1)
{
printf("\n请选择计算范围:\n");
printf("1. 加法\n");
printf("2. 减法\n");
printf("3. 乘法\n");
printf("4. 除法\n");
printf("0. 退出\n");
printf("请输入选项:");
scanf("%d", &range);
if (range == 0)
{
printf("感谢使用小学生运算器!\n");
break;
}
printf("\n请选择运算方法:\n");
printf("1. 手动输入答案\n");
printf("2. 随机生成答案\n");
printf("请输入选项:");
scanf("%d", &method);
printf("\n请输入每次出题的数量:");
scanf("%d", &num);
printf("\n开始测试!\n");
for (int i = 1; i <= num; i++)
{
int a, b, ans, user_ans;
switch (range)
{
case 1: // 加法
a = rand() % 101;
b = rand() % 101;
ans = a + b;
printf("%d + %d = ", a, b);
break;
case 2: // 减法
a = rand() % 101;
b = rand() % (a + 1);
ans = a - b;
printf("%d - %d = ", a, b);
break;
case 3: // 乘法
a = rand() % 10;
b = rand() % 10;
ans = a * b;
printf("%d * %d = ", a, b);
break;
case 4: // 除法
ans = rand() % 10 + 1;
b = rand() % 10 + 1;
a = ans * b;
printf("%d / %d = ", a, b);
break;
}
if (method == 1)
{
scanf("%d", &user_ans);
}
else
{
user_ans = rand() % 201 - 100; // 随机生成答案
}
if (user_ans == ans)
{
printf("正确!\n");
correct++;
}
else
{
printf("错误,正确答案为%d。\n", ans);
}
total++;
}
rate = (float)correct / total * 100;
printf("\n测试结束!\n");
printf("本次测试共出%d道题,您做对了%d道题,正确率为%.1f%%。\n", total, correct, rate);
if (rate >= 90)
{
printf("您的成绩优秀!\n");
}
else if (rate >= 80)
{
printf("您的成绩良好!\n");
}
else if (rate >= 60)
{
printf("您的成绩及格!\n");
}
else
{
printf("您的成绩不及格,请继续努力!\n");
}
}
return 0;
}
```
这个程序可以运行在命令行窗口中。用户可以通过菜单选择计算范围、运算方法和运算量,程序会自动生成相应的题目,并让用户输入答案。程序会自动检查答案是否正确,并给出评价。在程序运行结束后,会显示本次测试的结果,包括总共出了多少道题目、用户做对了多少道题目、正确率和评价等信息。