Soluzione 1
#include <stdio.h>
int main()
{
int a[20], i, cont;
printf("Inserire 20 numeri interi:\n");
for (i=0; i<20; i++){
scanf("%d", &a[i]);
}
cont=0;
// La condizione del ciclo è i<19 per evitare lo sfondamento dell'array
// infatti quando i vale 19 il riferimento alla cella a[i+1] è errato
for (i=0; i<19; i++){
if ((a[i]-a[i+1] == 5) || (a[i]-a[i+1] == -5))
cont++;
}
printf("I numeri consecutivi che differiscono di 5 in valore assoluto sono %d\n", cont);
return 0;
}
Soluzione 2
#include <stdio.h>
int main()
{
int a[20], i, cont, diff;
printf("Inserire 20 numeri interi:\n");
for (i=0; i<20; i++){
scanf("%d", &a[i]);
}
cont=0;
// La condizione del ciclo è i<19 per evitare lo sfondamento dell'array
// infatti quando i vale 19 il riferimento alla cella a[i+1] è errato
for (i=0; i<19; i++){
diff=a[i]-a[i+1];
if (diff<0)
diff=-diff;
if (diff==5)
cont++;
}
printf("I numeri consecutivi che differiscono di 5 in valore assoluto sono %d\n", cont);
return 0;
}
Torna agli esercizi: Esercizi