• Matéria: Informática
  • Autor: Fernandooo6923
  • Perguntado 8 anos atrás

Existem dois carinhas, o Joao e o Jose. Eles ainda são baixinhos, medindo apenas X cm.Sabe-se que Joao cresce Y mm por ano e Jose Z mm. Faca um programa que calcule em quantos anos Jose tera o dobro da altura de Joao, imprima na tela a altura de cada um e quantos anos se passaram.Obs.: X, Y e Z devem ser informados por um usuario!!!

Respostas

respondido por: rodrigo1510
0
#include <stdio.h>
int main() {
float X,Y,Z,Xjoao;
int i=1;
scanf("%f%f%f", &X, &Y, &Z);
Xjoao = X;
Y = Y/10.0;

Z = Z/10.0;
for (;;i++){ 
   Xjoao+=Y;
   X+=Z; 
   if(X == (Xjoao*2)){ 
    printf("Altura de Joao: %f\n", Xjoao);
    printf("Altura de Jose: %f\n", X);
    printf("%i Anos se passaram", i);
    break;
    }
}
   return 0;
}

rodrigo1510: baseado que ambos tem a mesma altura X, e que se 1,5 anos se passaram o ano passado será arredondado pra 2 e assim por diante
respondido por: cledersonbc
0
Cuidado, o usuário pode informar um valor de crescimento que seja inferior ao de José, no entanto o programa poderá entrar em loop infinito. Caso os valores de crescimento sejam baixo, o programa demorará muito para calcular.

#include <stdio.h>

int main() {
    double x, joao, jose; //altura do João e José, respectivamente
    double y, z; //crescimento do João e José, respectivamente
    int anos = 0;

    printf("Informe a altura de ambos (cm): ");
    scanf("%lf", &x);
    printf("Crescimento do João (mm): ");
    scanf("%lf", &y);
    printf("Crescimento do José (mm): ");
    scanf("%lf", &z);

    joao = x; //altura de João
    jose = x; //Altura de José
    y = y/10; //mm -> cm
    z = z/10; //mm -> cm

    //Repita enquanto a altura de José não for o dobro da altura de João
    while (jose <= joao*2) {
        anos = anos + 1; //passaram-se 1 ano
        joao = joao + y; //João cresceu y cm
        jose = jose + z; //José cresceu z cm
    }

    printf("Foi necessário %d anos para José ter o dobro da idade de João.\n", anos);

    return 0;
}

Perguntas similares