Difference between revisions of "C: Problema da idade em dias"

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
(New page: === Dificuldade única === Faça um programa, utilizando a linguagem C, capaz de informar a idade em dias com base na data de nascimento de um ser. Para resolver este problema você prec...)
 
(Dificuldade única)
Line 8: Line 8:
 
*A regra acima não é válida para anos de virada de século. Estes anos devem ser divisíveis por 400 para serem anos bissextos, todos os outro não são. Assim, o ano 1700, 1800, 1900 e 2100 não são bissextos, mas 2000 é bissexto.  
 
*A regra acima não é válida para anos de virada de século. Estes anos devem ser divisíveis por 400 para serem anos bissextos, todos os outro não são. Assim, o ano 1700, 1800, 1900 e 2100 não são bissextos, mas 2000 é bissexto.  
  
'''Para resolver esta questão não é permitido o uso de funções de data da linguagem, exceto as necessárias para obter a data atual.'''
+
'''Não é permitido o uso de funções de data da linguagem, exceto as necessárias para obter a data atual.'''
  
 
O programa deverá ler um dado por linha correspondente ao dia, mês e ano de nascimento (inteiros positivos válidos para seus respectivos valores). A saída será constituída de uma única linha com a quantidade de dias que o ser viveu.
 
O programa deverá ler um dado por linha correspondente ao dia, mês e ano de nascimento (inteiros positivos válidos para seus respectivos valores). A saída será constituída de uma única linha com a quantidade de dias que o ser viveu.

Revision as of 21:02, 11 February 2009

Dificuldade única

Faça um programa, utilizando a linguagem C, capaz de informar a idade em dias com base na data de nascimento de um ser.

Para resolver este problema você precisa saber que:

  • Setembro, abril, junho e novembro têm 30 dias, todos os outros meses tem 31 exceto fevereiro que tem 28, exceto nos anos bissextos nos quais ele tem 29.
  • Todo ano par divisível por 4 é um ano bissexto (1992 = 4*468 então 1992 será um ano bissexto, mas 1990 não é um ano bissexto).
  • A regra acima não é válida para anos de virada de século. Estes anos devem ser divisíveis por 400 para serem anos bissextos, todos os outro não são. Assim, o ano 1700, 1800, 1900 e 2100 não são bissextos, mas 2000 é bissexto.

Não é permitido o uso de funções de data da linguagem, exceto as necessárias para obter a data atual.

O programa deverá ler um dado por linha correspondente ao dia, mês e ano de nascimento (inteiros positivos válidos para seus respectivos valores). A saída será constituída de uma única linha com a quantidade de dias que o ser viveu.