Jump to content
Maura De Lima

Exercicios em C

Recommended Posts

Bom dia a todos.

Fiz um algorítimo aqui é não esta aparecendo no printf quando é perfeito e quando não é, alguém pode me ajudar?

 

#include <stdio.h>
#include <stdlib.h>
#include <math.h>

//Determinar os quadrados perfeitos pertencentes a um determinado intervalo de inteiros [a, b], com a< b.
//Exemplos de quadrados perfeitos: 4, 9, 16, 25, 36, 49, ...

int main() {
    int a, b, i;
    double resto;

    //Primeiro item do intervalo
    printf("A: ");
    scanf("%d", &a);

    //Segundo item do intervalo
    printf("B: ");
    scanf("%d", &b);

    // Laço para pegar os numeros entre o valor a e o b
    for (i = a + 1; i < b; i++)
    {
        //tirando a raiz quadrada de um numero
        resto = sqrt(i);

    /*
        FMOD pegar o resto de um numero double.

        Se o resultado da raiz quadrada tiver resto 0,
        ele é um quadrado perfeito. È dividido por um para
        manter seu valor original.
    */
      if(fmod(resto, 1) == 0) {
          /*Imprimindo todos os numeros que são quadrados perfeitos
            dentro do intervalo pedido.
          */
           printf("%d\n", i);
      }

    }

    return 0;
}

Share this post


Link to post
Share on other sites

@Maura De Lima, colei o teu código aqui (sem qualquer edição) e ele rodou corretamente. Entrei com o intervalo de 1 a 17 e printou 4, 9 e 16.

 

Tu obtém algum erro ou ele não printa nada?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.