Programación en C para alumnos de primaria
# include & ltstdlib.h & gt
# include & lttime.h & gt
//En el intervalo [ a, b] genera un número aleatorio
#Definición RANDOM(a, b) (rand()%((b+1)-(a)) + (a))
//Generar números enteros del 1 al 20. Si desea cambiar el rango aritmético, puede modificar los parámetros de esta macro.
# define GEN _ VALUE()RANDOM(1, 20)
int main()
{
int v1, v2 , t, r, a;
char op, ops[] = { '+', '-', ' * ', '/' }; símbolo) time(null)); //Inicializa la semilla del número aleatorio con la hora actual.
Printf("Por favor responda Ctrl+C para finalizar...\ n "
while(1)
{
v 1 = GEN _ VALUE(); // Genera aleatoriamente la primera operación.
v2 = GEN_VALUE(); // Genera aleatoriamente la segunda aritmética.
op = ops[RANDOM(0, 3)]; // Determina aleatoriamente qué operador es.
//Asegúrese de que la primera aritmética sea mayor que la segunda aritmética, elimine este juicio si no es necesario.
si(v 1 <v2)
{
t = v 1;
v 1 = v2;
p>
v2 = t;
}
//Si el operador es división y v1 no es divisible por v2, regenera la pregunta.
if(op = = '/' & & ampv1%v2!=0 )
Continuar;
//Calcular el resultado correcto
p>
Cambiar
{
caso '+':a =(float)v 1+(float)v2;
case ' -':a =(float)v 1-(float)v2;
case ' * ':a = (float)v 1 *(float)v2; p>
case '/':a =(float)v 1/(float)v2; break;
}
//Fórmula de salida
printf( "%d%c%d= ", v1, op, v2);
//Esperando resultados de entrada
scanf( "%d ", & ampr) ;
If (r == a)
Printf("¡Bingo! \ n \ n ");
Otro
Printf ("¡Error de respuesta! La respuesta correcta es:%d\n\n ", a);
}
}