Gli esercizi
Testi e soluzioni di alcuni esercizi
Successione con pari e dispari
Leggere in input una sequenza A di numeri interi. Stampare in output la successione B calcolata secondo la seguente regola: b0 = a0, bi = bi-1 + ai se ai è pari, bi = bi-1 - ai se ai è dispari.
/* ** successione.c ** ** Leggere in input una sequenza A di n numeri interi. Stampare in ** output la successione B calcolata secondo la seguente regola: ** ** B(0) = A(0) ** B(i) = B(i-1) + A(i) se A(i) e' pari ** B(i) = B(i-1) - A(i) se A(i) e' dispari ** ** Marco Liverani (liverani@mat.uniroma3.it) - Aprile 2001 */ #include <stdlib.h> #include <stdio.h> #define MAX 100 /* * Legge in input un vettore di interi. Restituisce il numero * di elementi letti. */ int leggi_array(int V[]) { int i, n; printf("Numero di elementi: "); scanf("%d", &n); for (i=0; i<n; i++) scanf("%d", &V[i]); return(n); } /* * Funzione principale. */ int main(void) { int i, n, x, A[MAX]; n = leggi_array(A); x = A[0]; printf("b[0] = %d\n", x); for (i=1; i<n; i++) { if (A[i] % 2 == 0) x = x + A[i]; else x = x - A[i]; printf("b[%d] = %d\n", i, x); } return(0); }