[C]problema con una funzione
Buongiorno,
sto risolvendo il presente quesito in C:
"Sommare i primi n numeri naturali(n richiesto da tastiera).Realizzare il sorgente implementando 2 funzioni, una che legga n, e l'altra che calcoli la sommatoria".
Ho un solo problema, non riesco a restituire al main correttamente il valore letto dalla funzione $acquisizione()$ e pertanto non riesco a fornire il numero per calcolare la sommatoria. Qualcuno ha un consiglio da darmi?Grazie
... ecco il codice
sto risolvendo il presente quesito in C:
"Sommare i primi n numeri naturali(n richiesto da tastiera).Realizzare il sorgente implementando 2 funzioni, una che legga n, e l'altra che calcoli la sommatoria".
Ho un solo problema, non riesco a restituire al main correttamente il valore letto dalla funzione $acquisizione()$ e pertanto non riesco a fornire il numero per calcolare la sommatoria. Qualcuno ha un consiglio da darmi?Grazie
... ecco il codice
//SOMMARE I PRIMI N NATURALI(N DA TASTIERA);USA 1 FUNZIONE PER LA LETTURA,1 FUNZIONE PER CALCOLARE LA SOMMATORIA
#include <stdio.h>
int acquisizione();
int sommatoria(int n);
int main(void)
{
acquisizione();
printf("Il valore acquisito è:%d\n",acquisizione());
sommatoria(n);
printf("La sommatoria vale: %d\n",sommatoria(n));
}
int acquisizione()
{
int n=0;
printf("Inserire n (corrispondente al numero di cifre da sommare):\n");
scanf("%d",&n);
return n;
}
int sommatoria(int n)
{
int i=0,sum=0;
for (i=0;i<=n;i++) {
sum+=i;
}
return sum;
}
Risposte
Ciao,
nel main stai chiamando due volte la funzione acquisizione. Puoi semplicemente fare così:
nel main stai chiamando due volte la funzione acquisizione. Puoi semplicemente fare così:
int n = acquisizione();
printf("Il valore acquisito e' %d\n", n);
Grazie infinite!
Prego!