Si te fijas, en el primero estás inicializando el valor de nota a 0, en el segundo no. Es decir, estás sumando lo que contenga la variable nota, es decir, su valor, sin saber cuál es.
#include<stdio.h>main(){ int contador, total, nota; float media; contador = 1; total = 0; while (contador <= 3){ printf ("Introduzca una nota "); scanf ("%d", ¬a); contador = contador +1; total = total + nota; } media = (float) total / 3; printf (" La media es %.2f", media);}
printf ("Introduzca una nota ");scanf ("%d", ¬a);//Si pones aqui un printf veras el valor de nota:printf ("nota: %d\n", nota);
#include<stdio.h>main(){ int contador, total, nota; float media; contador = 1; total = 0; while (contador <= 3){ printf ("Introduzca una nota "); scanf ("%d", ¬a); contador = contador +1; total = total + nota; }
#include<stdio.h>main (){ int nota, contador, total; float media; contador = 0; total = 0; while ( nota != -1) { contador = contador +1; total = total + nota; printf("Escribe la nota, -1 para parar: "); scanf("%d", ¬a); }
Justo eso, la única diferencia es el orden, si antes de dar un valor a la variable nota la estas sumando, ¿cómo sabes qué valor tiene?Es decir, en el primer caso la sumas después de darle valor, en el segundo no.¿Te queda ahora claro? Saludos!
if ( nota = -1);
if ( nota = = -1);