Solução em C do Problema 18


/* Programa que testa se tres numeros sao os lados de um triangulo retangulo */

#include <stdio.h>

int main() {
  int a, b, c,      /* dados de entrada            */
      aux;          /* auxiliar para fazer a troca */

  printf("Digite tres numeros naturais: ");
  scanf("%d", &a);
  scanf("%d", &b);
  scanf("%d", &c); 

  /* coloca o maior dos numeros dados no a */
  if (b > a){
    aux = a;
    a = b;
    b = aux;
  }
  if (c > a){
    aux = a;
    a = c;
    c = aux;
  }
  
  /* verifica se b e c sao catetos de um triangulo com a de hipotenusa */
  if (a * a == b * b + c * c)
    printf("O triangulo é retangulo\n");
  else 
    printf("O triangulo não é retangulo\n");
  
  return 0;
}


Lista de Problemas

História da Computação | Listas de Exercícios | Problemas Resolvidos | macmulti@ime.usp.br