Solução: C: Problema da idade em dias (Antonio Lucas)
From AdonaiMedrado.Pro.Br
Revision as of 12:32, 1 April 2009 by 200.17.147.2 (Talk) (New page: <code lang="c"> #include <stdio.h> #include <stdlib.h> #include <time.h> //time 1:12:49 int main(int argc, char *argv[]) { time_t agora_t = time(NULL); struct tm *agora = localtime...)
#include <stdio.h> #include <stdlib.h> #include <time.h> //time 1:12:49 int main(int argc, char *argv[]) { time_t agora_t = time(NULL); struct tm *agora = localtime(&agora_t); int dia = agora->tm_yday ; int mes = agora->tm_mon + 1; int ano = agora->tm_year + 1900; int MESES[] = {31,28,31,30,31,30,31,31,30,31,30,31} ; int diaNasc,mesNasc,anoNasc; int i,aux =0,bis = 0; int res = 0; scanf("%d", &diaNasc); scanf("%d", &mesNasc); scanf("%d", &anoNasc); for (i = anoNasc; i < ano; i++){ if (i%4 == 0){ if (i%100 != 0) bis++; else if (i%400 == 0) bis++; } } if (anoNasc%4 == 0 && mesNasc > 2) bis--; for(i=mesNasc-1;i<12;i++){ aux+=MESES[i]; } aux -=diaNasc-1; res = aux + (ano-anoNasc-1)*365 + bis + dia; printf("%d\n", res); return 0; }