[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!
