Come prima cosa esegui l'input di moltiplicando e moltiplicatore. Ad esempio, in 7 * 4 il moltiplicando è 7 e il moltiplicatore è 4.
Osserva bene l'espressione equivalente: 7 + 7 + 7 + 7
Nell'espressione compare quattro volte il moltiplicando (tante quanto il moltiplicatore!) e tre segni + (cioè tanti quanto il moltiplicatore diminuito di uno). Cosa ti suggerisce questo?
A monte del loop principale, una volta sola, stamperai a parte il solo moltiplicando, perché
in ogni operazione algebrica binaria il numero dei segni è inferiore di una unità rispetto al numero dei fattori. Devi quindi creare un loop con un numero di iterazioni pari al valore del moltiplicatore diminuito di una unità. Nel loop non farai altro che stampare un segno + seguito dal moltiplicando.
Quindi, per esemplificare, si avrà:
printf("%d", num1);
for (i = 1; i < num2; ++i)
{
printf(" + %d", num1);
}
Si noti che l'idioma funziona perfettamente anche quando il moltiplicatore è pari a uno.
Equivalentemente, si può stampare nel loop printf("%d + ", num1) e in seguito stampare fuori dal loop l'ultimo moltiplicando... nulla cambia, se non l'ordine dei simboli nella printf() e la posizione della printf() isolata, rispettivamente a monte e a valle del loop.