7. Faça um algoritmo em linguagem C, que calcule o IMC - índice de massa corpórea de uma pessoa, segundo a fórmula:
IMC = peso * altura 2
O algoritmo deve classificar e exibir o resultado na tela segundo a tabela:
IMC Resultado
0 a 19 Muito Magro
19 a 25 Normal
25 a 30 Sobre Peso
30 a 40 Obeso
40 a acima Obesidade Grave
Soluções para a tarefa
#include <stdlib.h>
int main(){
float peso , altura, imc;
printf("\nInforme seu peso em Kg:");
scanf ("%f",&peso);
printf("\nInforme sua altura em m:");
scanf ("%f",&altura);
imc = peso / (altura*altura);
if (imc <19 ){
printf("\n\t\t\t MUITO MAGRO");
}else{
if(imc >= 19 && imc<25){
printf("\n\t\t NORMAL");
}else{
if(imc >= 25 && imc<30){
printf("\n\t\t SOBRE PESO");
}else{
if(imc >= 30 && imc<=40){
printf("\n\t\t NORMAL");
}else{
if (imc>40){
printf("\n\t\t OBESIDADE GRAVE");
} } } } }
printf("\n\t\tSeu IMC é: %.2f",imc);
/* Em caso de windows e o programa não permanecer aberto
descomente a próxima linha*/
// system ("pause") ;
return 0;
}
Resposta: Escrito em C++
Explicação: Eu fiz com base nessa pergunta: "O IMC – Indice de Massa Corporal é um critério da Organização Mundial de Saúde para dar
umaindicação sobre a condição de peso de uma pessoa adulta. A fórmula é IMC = peso / ( altura )2
Elabore um algoritmo que leia o peso e a altura de um adulto e mostre sua condição de acordo
com a tabela abaixo.
IMC em adultos Condição
Abaixo de 18,5 Abaixo do peso
Entre 18,5 e 25 Peso normal
Entre 25 e 30 Acima do peso
Acima de 30 obeso "
#include <stdio.h>
#include <string.h>
int main()
{
char adulto[1], respectivamente[1];
float peso, altura, conta;
printf("Você é adulto? Se sim digite 's' se não digite 'n': ");
scanf("%s",adulto);
if(strcmp(adulto,"n")==0){
printf("Você não está capacitado para fornecer os dados e obter um resultado pláusivel");
} else if(strcmp(adulto,"s")==0){
printf("Você está capacitado para participar");
printf("\nDigite seu peso(exemplo: 90): ");
scanf("%f",&peso);
printf("\nDigite sua altura(exemplo: 1.85): ");
scanf("%f",&altura);
printf("Seu peso e altura são respectivamente: %1.f, %f? Se sim digite 's' se não digite 'n'",peso, altura);
scanf("%s",respectivamente);
} else{
printf("Você digitou um caracter inválido!");
}
if(strcmp(respectivamente, "s")==0){
conta = peso / (altura*altura);
printf("Seu índice de massa corporal é: ");
printf("%2.f",conta);
printf("\nPortanto você está: ");
if(conta < 18.5){
printf("\nAbaixo do peso");
} else if(conta >= 18.5 && conta <= 25){
printf("\nPeso normal");
} else if(conta >= 25 && conta <= 30){
printf("acima do peso");
} else if (conta > 30){
printf("Acima do peso");
}
} else if(strcmp(respectivamente, "n")==0){
printf("Reinicie o programa e redigite os dados agora da forma correta");
}
return 0;
}