1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
// 2x18: Tablas de multiplicar aleatorias /* Escriba un programa que sirva para examinar a un niño de las tablas de multiplicar. Para ello se generan de forma pseudoaleatoria diez preguntas que son planteadas al niño. Ante cada pregunta (por ejemplo “4x5=”) el niño contestará con un número. Si la respuesta es la correcta se le felicita. Si la respuesta es incorrecta se le informará al niño de su error y se le volverá a plantear la misma pregunta hasta que acierte. Después de concluir con la última pregunta se informará al niño sobre cuántas preguntas acertó a la primera. */ #include <stdio.h> //Librerías para sacar, entre otras cosas, un número aleatorio: #include <stdlib.h> #include <time.h> main(){ system("clear"); int numero=0; int aciertos=0; int numAleUno, numAleDos; int i, j; //Se genera un conjunto de números aleatorios: srand((unsigned int)time(NULL)); printf("\v Vamos a empezar la ronda de 10 preguntas:\n\n"); for( i=0; i<10; i++ ){ // Se escoge un número inferior o igual a 10: numAleUno = rand()%11; numAleDos = rand()%11; // Se imprime la incógnita: printf( "\n%i x %i = ", numAleUno, numAleDos ); // Se comprueba la respuesta dada: for( j=0; numAleUno*numAleDos != numero ; j++ ){ scanf( "%i", &numero ); if( numAleUno*numAleDos == numero && j == 0 ){ printf( "Correcto, a la primera!\n" ); aciertos++; } else if( numAleUno*numAleDos == numero ){ printf( "Correcto\n" ); } else{ printf( "Mal!, prueba de nuevo\n" ); }; }; }; printf( "\n Fin, de 10 preguntas has acertado %i a la primera\n\n", aciertos ); }; |