C语言实现自动生成四则运算题目并判断对错
C语言实现自动生成四则运算题目并判断对错
你是否正在学习C语言编程?你想挑战一下自己,编写一个可以自动生成四则运算题目的程序吗?
在这篇博客中,我将分享一段用C语言编写的四则运算程序,该程序可以根据用户的答题情况自动调整难度等级,非常适合编程初学者练习。
代码实现
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int generateNum(int min, int max) {
return rand() % (max - min + 1) + min;
}
char generateOperator() {
char operators[] = {'+', '-', '*', '/'};
int index = rand() % 4;
return operators[index];
}
int evaluateExpression(int num1, int num2, char operator) {
switch (operator) {
case '+':
return num1 + num2;
case '-':
return num1 - num2;
case '*':
return num1 * num2;
case '/':
return num1 / num2;
default:
return 0;
}
}
int main() {
srand(time(0));
int level = 1;
int score = 0;
int max_score = 5;
while (1) {
int num1, num2, result;
char operator;
char answer[10];
if (level == 1) {
num1 = generateNum(1, 9);
num2 = generateNum(1, 9);
} else if (level == 2) {
num1 = generateNum(10, 99);
num2 = generateNum(10, 99);
} else if (level == 3) {
num1 = generateNum(100, 999);
num2 = generateNum(100, 999);
}
operator = generateOperator();
printf('题目: %d %c %d\n', num1, operator, num2);
scanf('%s', answer);
result = evaluateExpression(num1, num2, operator);
if (atoi(answer) == result) {
printf('回答正确!\n');
score++;
} else {
printf('回答错误!\n');
score = 0;
}
if (score == max_score) {
level++;
score = 0;
printf('恭喜你进入下一级!\n');
}
}
return 0;
}
代码讲解
- 引入头文件: 程序首先引入了三个头文件:
stdio.h、stdlib.h和time.h,分别用于输入输出、随机数生成和时间操作。 - 生成随机数:
generateNum函数用于生成指定范围内的随机数,用于生成题目中的运算数。 - 生成运算符:
generateOperator函数用于随机选择一个运算符 (+、-、*、/),用于生成题目。 - 计算表达式:
evaluateExpression函数用于计算表达式的值,使用switch语句根据不同的运算符进行相应的计算。 - 主函数:
main函数是程序的入口点,程序从这里开始执行。- 首先,使用
srand(time(0))初始化随机数生成器。 - 然后,程序进入一个无限循环,不断生成题目并判断用户输入的答案是否正确。
- 根据用户的答题情况,程序会调整难度等级,并输出相应的提示信息。
- 首先,使用
总结
这篇博客分享了一段使用C语言编写的四则运算程序,程序简单易懂,非常适合编程初学者学习。程序中使用了随机数、循环、条件判断等基本语法,可以帮助初学者巩固基础知识,并锻炼编程思维。
原文地址: https://www.cveoy.top/t/topic/CtR 著作权归作者所有。请勿转载和采集!