Lenguaje c++
Mañana tengo que explicar el siguiente programa de
Lenguaje c++ (me tiene que mostrar los números impares)

#include<studio.h>
#include<conio.h>
void main()
{
int i,impar=0;
for(i=0;i<100;i++)
{
if (i%2!=0)
printf("\n%d",i);
impar=impar+1
}
printf ("\n%d números impares que hay desde el 1 al 100", impar);
getch();
}

El programa si funciona pero no sé cómo explicar está parte:

if (i%2!=0)
printf("\n%d",i);
impar=impar+1
por ejemplo porque se coloca i%2!
y impar=impar+1

PD:La verdad lo hice al tanteo xD pero no sé cómo explicarlo ​

Respuestas

Respuesta dada por: Anónimo
1

Respuesta:

% es el operador mod

que sirve para obtener el resto de la división, es decir lo que sobra al hacer i%2!=0 estas diciendo que si el resto de la división es distinto a 0 entonces el numero es impar, por ejemplo 4%2 el residuo sería 0 porque 4/2 es igual a 2*2= 4, 4-4= 0 no sobra nada, pero si pones un 19%2 el residuo es 1 porque 19/2=9

9*2 = 18, 19-18 = 1, como sobra 1 el numero es impar

Preguntas similares