MOS6510 ha scritto:
Che cosa intendi per scritto in maniera svogliata ?
Che non controlla tutti gli errori che potrebbe fare l'utente e che usa il counter come signed int quando si sarebbe potuto fare diversamente
Lo so che è a 0 , è previsto così per l'iterazione controllata da sentinella o flag che dir si voglia, infatti risulta a uno quando si utilizza un'iterazione definita come questo :
#include <stdio.h>
int main( void )
{
unsigned int counter;
int grade;
int average;
int total;
total = 0;
counter = 1;
// fase di elaborazione
while ( counter <= 10 ) {
printf( "%s", "Enter grade : " );
scanf( "%d", &grade );
total = total + grade;
counter = counter +1;
}
average = total / 10;
printf( "Class average is %d\n", average );
return 0;
}
Ma scusa che obiezione sarebbe?
A parte che non puoi fermarti subito come ha detto Oregon, non puoi nemmeno inserire un totale diverso da dieci.
E poi cosa importa il valore iniziale di counter nel tuo codice? Potresti scrivere
counter = 101;
while ( counter <= 110 ) {
printf( "%s", "Enter grade : " );
scanf( "%d", &grade );
total = total + grade;
counter = counter +1;
}
oppure
counter = 10;
while ( counter ) {
printf( "%s", "Enter grade : " );
scanf( "%d", &grade );
total = total + grade;
counter = counter -1;
}