[ Foro de C ]

quitar la sentencia goto de un progrma

29-Nov-2021 20:39
Invitado (lilith)
0 Respuestas

El programa imprime todos aquellos números comprendidos entre dos límites,  inferior y superior, cuya suma de sus dígitos dan un número primo.
#include <stdio.h>
int main() {
int inf, sup, i, res, n, ii;
printf("\nDame limites, inferior y superior: ");
scanf("%d %d", &inf, &sup);
i = inf;
B:  if (i > sup) goto A; // SALTO CONDICIONAL
   n = i;
res = 0;
D: if (n <= 0) goto C; // SALTO CONDICIONAL
res = res + n % 10;
n = n /10;
goto D; // SALTO INCONDICIONAL
C:  n = res;    
   ii = 2;
F:  if (ii >= n) goto G;   // SALTO CONDICIONAL
   if (n%ii == 0) goto E;  // SALTO CONDICIONAL
   ++ii;  
   goto F;   // SALTO INCONDICIONAL
G:  printf("%d\t", i);                        
E:  ++i;    
   goto B;   // SALTO INCONDICIONAL    
A:  return 0;
}
como podría remplazar la sentencia goto para que el programa siga su función sin ella




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)