prova_esame.c

#include <stdio.h>
#include <stdlib.h>

// Funzione che dato un numero ritorna il numero dei suoi divisori
int divisori(int numero){
	int risultato = 0;
	int i;
	// Partendo da 1 scandisce tutti i numeri inferiori
	// al numero passato come parametro
	for(i=1; i<=numero; i++)
	{
		// Se il resto della divisione intera e' zero..
		if(numero%i == 0){
			// ... incrementa il numero di divisori
			risultato=risultato+1;
		}
	}
	return risultato;
}

void main()
{
	int numero;		// Numero che verra inserito dall'utente
	int ndivisori;	// Conterra' il risultato della funzione "divisori"

	// Ciclo principale
	// termina quando l'utente inserisce 0
	do{
		// Ciclo di validazione
		// continua fino a che il numero inserito e' minore di zero
		do{
			printf("\nInserisci un numero positivo: ");
			scanf("%d",&numero);
			if(numero < 0) printf("Ho detto POSITIVO\n");
		}while(numero<0);

		// Calcola il numero di divisori
		ndivisori = divisori(numero);
		// Stampa a video il risultato
		printf("Divisori = %d\n",ndivisori);

	}while(numero != 0);
}


Generated by GNU enscript 1.6.4.