
In questa lezione affronteremo l’esercizio sui multipli di un numero in C con il for al fine di approfondire i concetti sulle istruzioni iterative.
Quindi proponiamo questo esercizio molto semplice svolto con il ciclo for e il do-while per il controllo dell’input.
Multipli di un numero in C con il for – risoluzione
Dati in input due numeri interi n e k positivi stampare i primi n multipli di k.
Quindi chiediamo in input quanti multipli di k vogliamo visualizzare e controlliamo che tale valore non sia inferiore a 1. Nel caso in cui ciò si verifichi richiediamo l’inserimento di n.
Facciamo lo stesso ragionamento con il numero k.
Dopo con il ciclo for che parte da 1 e arriva fino ad n, calcoliamo i multipli semplicemente moltiplicando prima il numero per 1, poi per due, ecc…
Facciamo un esempio passo passo supponendo di voler visualizzare 3 multipli di 4.
Quindi n=3 e k=4.
Prima iterazione:
for(i=1;i<=n;i++) { // i=1 il test 1<=3 è vero dunque
p=k*i; // p=4*1=4
printf(“%d multiplo: %d\n”, i, p); stampo il primo multiplo: 4
}
Seconda iterazione:
for(i=1;i<=n;i++) { // i=2 il test 2<=3 è vero dunque
p=k*i; // p=4*2=8
printf(“%d multiplo: %d\n”, i, p); // stampo il secondo multiplo: 8
}
Terza iterazione:
for(i=1;i<=n;i++) { // i=3 il test 3<=3 è vero dunque
p=k*i; // p=4*3=12
printf(“%d multiplo: %d\n”, i, p); stampo il secondo multiplo: 12
}
Quindi si avrà:
for(i=1;i<=n;i++) { // i=4 il test 4<=3 è falso dunque si interrompe il ciclo e si passa all’istruzione subito dopo il for.
Ecco dunque il listato completo per l’algoritmo sui multipli di un numero in C con il for:
#include <stdio.h>
main()
{
int n, i, k, p;
do {
printf("inserisci il valore di n: ");
scanf("%d", &n);
}while (n<=0);
do {
printf("inserisci il valore di n: ");
scanf("%d", &k);
}while (k<=0);
for(i=1;i<=n;i++){
p=k*i;
printf("%d multiplo: %d\n", i, p);
}
system("PAUSE");
}
Nella prossima lezione affronteremo altri esercizi in C sul for.
Alcuni link utili
Allocazione dinamica della memoria con malloc
Esercitazione sulle struct in C
Realizzare un menù di scelta in C
Come sommare gli elementi della cornice esterna
Ricerca elementi in una matrice