Ir ao conteúdo

C Função: Receber valor por parâmetro e Retornar valor de S


Ir à solução Resolvido por 1freakday,

Posts recomendados

Postado

Hey! Boa tarde,

 

Então, acho que o erro pode estar lá na conta no final. D:

 

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

/*Escreva uma função que recebe por parâmetro um valor inteiro e positivo N e retorna o valor de S.
S = 1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/N.*/

int ler_numero();
int calcula_numero(int n);

int main() {
	int n;
	float s;
	
	ler_numero();
	n = ler_numero();
	calcula_numero(n);
	s = calcula_numero(n);
	
	printf("O valor de S eh: %2.f", s);
	return 0;
}

 int ler_numero(){
	int n;
	
 	do{
 	printf("Digite um numero inteiro e positivo:\n");
  	scanf("%d", &n);
	}	while(n<=0);

	  return n;
	}

int calcula_numero(int n){
	float div, s;
	int i;
	
	for (i=0; i<n; i++){
		div=(1/i);
		div=div+(1/i);
	}
	s= 1+ div;
	return s;
}

 

  • Solução
Postado

@Dafne Guimarães Como o programa usa divisores, é necessário que seja usado tudo como float na area de cálculo, segue:

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

/*Escreva uma função que recebe por parâmetro um valor inteiro e positivo N e retorna o valor de S.
S = 1 + 1/2 + 1/3 + 1/4 + 1/5 + 1/N.*/

int ler_numero();
float calcula_numero(int n);

int main() {
        int n;
        float s;

        n = ler_numero();
        s = calcula_numero(n);

        printf("O valor de S eh: %.2f\n", s);
        return 0;
}

 int ler_numero(){
        int n;
        printf("Digite um numero inteiro e positivo:\n");
        scanf("%d", &n);
        return n;
}

float calcula_numero(int n){
        float s = 0;
        float i;

        for (i=1; i<=n; i++){
                s+=(1/i);
        }
        return s;
}

 

adicionado 1 minuto depois

@TYSQUARE89 Eu removi seu while, mas pode colocar, use:

 

do...while(n <= 0);

  • 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...