Ir ao conteúdo

Posts recomendados

Postado

Boa tarde galera,

 

Estou com uma duvida num problema do the huxley: https://www.thehuxley.com/problem/1089?locale=pt_BR

""

Escreva um programa que calcule os N termos da série S  abaixo:

 S = (1/3) + (2/6) + (3/9) + (4/12) + …

O seu programa deve imprimir na saída padrão tanto os termos da série quanto o valor da soma com precisão de 2 casas decimais.

exemplo:

entrada: 8 

saída: 

1/3 + 2/6 + 3/9 + 4/12 + 5/15 + 6/18 + 7/21 + 8/24

2.67

""

fiz assim: 

#include<stdio.h>

   main(){


    int s,seg,pri;
    double div, res;
    scanf("%i", &s);
    for(pri=1; pri<=s; pri++){

    seg=pri*3;
    div=pri/seg;
    res+=div;

    printf("%i/%i",pri,seg);
    if(pri<s)
    printf(" + ");

}
    printf("%5.2lf", res);


}

 

consigo imprimir os termos certinho só que o resultado só sai um monte de zero . se alguém puder de dá uma ajuda eu agradeço muito. 

  • Curtir 1
Postado

@Arthur Rodrigues Passos       não verifiquei se o resultado é esse mesmo , mas para imprimir double precisa que o número que será imprimido seja double , e no caso o resultado está sendo do tipo int , pois está dividindo dois int e colocando em um double , e para isso precisa converter os int para double ,   e poderia ser assim  :

#include<stdio.h>
int main(){
    int s,seg,pri;
    double div, res=0;/* incializar variável */
    scanf("%i", &s);
    for(pri=1; pri<=s; pri++){
        seg=pri*3;
        div=(double)pri/(double)seg;/* converte int para o tipo double */
        res+=div;
        printf("%i/%i",pri,seg);
        if(pri<s)
        printf(" + ");
    }
    printf("\n\nresultada -> %.4lf   ou   %.2le\n\n", res,res);
}

 

Postado

Valeu mano, fiz só essa pequena modificação no resultado.

 

#include<stdio.h>
int main(){
    int s,seg,pri;
    double div, res=0;/* incializar variável */
    scanf("%i", &s);
    for(pri=1; pri<=s; pri++){
        seg=pri*3;
        div=(double)pri/(double)seg;/* converte int para o tipo double */
        res+=div;
        printf("%i/%i",pri,seg);
        if(pri<s)
        printf(" + ");
    }
    printf("\n%.2lf",res);
}

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...