(for anidados).
Escribir un programa, que genere la tabla de multiplicar con el siguiente formato:
1 2 3 4 5 6 7 8 9 10
1 1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 9 12 15 18 21 24 27 30
4 16 20 24 28 32 36 40
5 25 30 35 40 45 50
6 36 42 48 54 60
7 49 56 63 70
8 64 72 80
9 81 90
10 100
Necesito una orientación para empezar el programa en C. No código, si no como empezarlo. Me imagino que por el enunciado seran for dentro de otros for ¿o me equivoco? Podeis ayudarme?
Gracias
Te voy a presentar el código porque no sabría explicarlo bien. Ahora bien, te pido ENCARECIDAMENTE que entiendas el código, para así tener mi conciencia tranquila :P. Si no se entiende algo, pregunta!!
#include <stdio.h>
unsigned int CountDigits(unsigned int uNumber);
int main() {
printf(" 1 2 3 4 5 6 7 8 9 10\n\n");
for(unsigned int uRow = 1u; uRow <= 10u; uRow++) {
if(CountDigits(uRow) == 1)
printf("\n %u", uRow);
else
printf("\n%u", uRow);
for(unsigned int uCol = 1u; uCol <= 10u; uCol++) {
if(uCol >= uRow) {
for(unsigned int i = 0; i < 5u - CountDigits(uCol*uRow); i++)
fputc(' ', stdout);
printf("%u", uRow*uCol);
} else {
printf(" ");
}
}
}
fgetc(stdin);
return 0;
}
unsigned int CountDigits(unsigned int uNumber) {
if(uNumber <= 9)
return 1;
if(uNumber <= 99)
return 2;
if(uNumber <= 999)
return 3;
printf("No se ha podido contar el numero de cifras");
return 0;
}