es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El bucle se está ejecutando 5 veces pero solo solicita entrada de datos 2 veces.

Este es mi código, aquí estoy tomando la entrada de caracteres cada vez que se ejecuta el bucle.

Estoy dando 5 entradas pero solo está respondiendo a 2 de ellas.

#include <stdio.h>
int main()
{
    int t;
    scanf("%d",&t);
    while (t--)
    {
        char c;
        scanf("%c",&c);
        if(c == 'b' || c== 'B')
            printf("BattleShip\n");
        else if(c=='c' || c=='C')
            printf("Cruiser\n");
        else if(c == 'd' || c=='D')
            printf("Destroyer\n");
        else if(c=='f' || c=='F')
            printf("Frigate\n");
    }
}

Entrada:
5
b f c b f

Salida:
BattleShip
Frigate</stdio.h>

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Parece que el código solo está respondiendo a las entradas b y c. Para hacer que responda a las cinco entradas, deberás agregar declaraciones else if para las entradas d y f, así:

    #include <stdio.h>
    
    int main()
    {
        int t;
        scanf("%d",&t);
        while (t--)
        {
            char c;
            scanf("%c",&c);
            if(c =='b' || c== 'B')
                printf("BattleShip\n");
            else if(c=='c' || c=='C')
                printf("Cruiser\n");
            else if(c == 'd' || c=='D')
                printf("Destroyer\n");
            else if(c=='f' || c=='F')
                printf("Frigate\n");
        }
    }
    

    Ahora la salida debería ser:

    Entrada:
    5 
    b f c b f
    
    Salida:
    BattleShip
    Frigate
    Cruiser
    BattleShip
    Frigate
    

Comments are closed.