Creo que lo has interpretado de forma adecuada, sólo un par de observaciones:
* Como main es una función de tipo int requiere de un return.
* En:
if(n2<=2027 && n2>=997)
te sobra lo de n2<=2027 ya que es una condición del for.
* Es más, el for, si n = 123 en lugar de empezarlo por 1 lo empezaría por 9 porque fíjate que si n es 123 estarías probando:
123 * 1 = 123 < 997==> no se imprime.
123 * 2 = 246 < 997==> no se imprime.
........................................................
123 * 8 = 984 < 997==> no se imprime.
123 * 9 = 1107 > 997==> SI se imprime.
Y ese "9" es ni más ni menos que: 1 + 997 / n, en este ejemplo más concreto con n= 123 sería 1 + 997 / 123, con lo que ahorrarías cálculos innecesarios y además te sobraría el if anterior.
* De paso te puedes ahorrar la variable n2.
* Procura indentar el código de forma racional. ;)
Yo te propondría:
#include <stdio.h>
int main ( void ) {
int i , n ;
printf ("introduzca el numero: " ) ;
scanf ( "%d" , &n );
if( n < 2027 ) {
for ( i = 1 + 997 / n ; i * n < 2027 ; i++ )
printf ( "%d " , i * n ) ;
}
else
puts ( "No hay multiplo en el intervalo deseado" ) ;
putchar ( '\n' ) ;
return 0 ;
}
¡¡¡¡ Saluditos! ..... !!!!
(http://st.forocoches.com/foro/images/smilies/aaaaa.gif)