#include <stdio.h> 
#define ADULT 18 
#define OLD 60 

int* vvod() 
{ 
int dy[3]; 
printf("Введите количество десятков лет, количество лет \n"); 
scanf("%d", &dy[0]); 
dy[1]=dy[0]/10; 
dy[2]=dy[0]%10; 
int *a = dy; 
return a; 
} 
int* raschet (int *a) 
{ 
/* ysa-0, yso-1, decsa-2, decso-3, yearsa-4, yearso-5 */ 
int since[5]; 
if(a[0]>=ADULT) 
{ 
since[0]=a[0]-ADULT; 
since[4]=since[0]%10; 
since[2]=since[0]/10; 
} 
if(a[0]>=OLD) 
{ 
since[1]=a[0]-OLD; 
since[5]=since[1]%10; 
since[3]=since[1]/10; 
} 
int *b = since; 
return b; 
} 

int vivod (int *a, int *b) 
{ 

switch(a[1]) 
{ 
case 1: 
printf("Ваш возраст %d лет \n", a[0]); 
break; 
default: 
if(a[2]==0) 
printf("Ваш возраст %d лет \n", a[0]); 
else if(a[2]==1) 
printf("Ваш возраст %d год \n", a[0]); 
else if((1<a[2]) && (a[2]<5)) 
printf("Ваш возраст %d года \n", a[0]); 
else 
printf("Ваш возраст %d лет \n", a[0]); 
} 
if(a[0]==ADULT) 
printf("Вы совершеннолетний \n"); 
else if (a[0]==OLD) 
printf("Вы совершеннолетний 42 года \n, вы на пенсии"); 
else if((ADULT<a[0]) && (a[0]<OLD)) 
{ 
switch(b[2]) 
{ 
case 1: 
printf("Вы совершеннолетний %d лет \n", b[0]); 
break; 
default: 
if(b[4]==0) 
printf("Вы совершеннолетний %d лет \n", b[0]); 
else if(b[4]==1) 
printf("Вы совершеннолетний %d год \n", b[0]); 
else if((1<b[4]) && (b[4]<5)) 
printf("Вы совершеннолетний %d года \n", b[0]); 
else 
printf("Вы совершеннолетний %d лет \n", b[0]); 
} 
} 
else if(a[0]>OLD) 
{ 
switch(b[3]) 
{ 
case 1: 
printf("Вы совершеннолетний %d лет, Вы на пенсии %d лет \n", b[0], b[1]); 
break; 
default: 
if(b[5]==0) 
printf("Вы совершеннолетний %d лет, Вы на пенсии %d лет \n", b[0], b[1]); 
else if(b[5]==1) 
printf("Вы совершеннолетний %d год, Вы на пенсии %d год \n", b[0], b[1]); 
else if((1<b[5]) && (b[5]<5)) 
printf("Вы совершеннолетний %d года, Вы на пенсии %d года \n", b[0], b[1]); 
else 
printf("Вы совершеннолетний %d лет, Вы на пенсии %d лет \n", b[0], b[1]); 
} 
} 
} 
main() 
{ 
int *a = vvod(); 
int *b = raschet (a); 
vivod (a,b); 
}