- Write a program in C to convert Number of Days to Days, Weeks, Months and Years.
Required Knowledge
- C printf and scanf functions
- C Arithmetic Operators
- C Assignment Operator
We will first take number of days as input from user using scanf function then convert to Days, Weeks, Months and Years using following conversion equations.
- 1 Year = 365 Days
- 1 Month = 30 Days
- 1 Week = 7 Days
C program to convert number of days to days, weeks, months and years

/**
* C program to convert Numer of Days to
* Year, Month, Week and Days
*/
#include <stdio.h>
int main() {
int inputDays, years, months, weeks, days;
/*
* Take number of days as input from user
*/
printf("Enter number of Days\n");
scanf("%d", &inputDays);
/*
* 1 Year = 365 Days, 1 Month = 30 Days, 1 Week = 7 Days
* To keep things simple, We are not considering Leap years
* and assuming 1 Month = 30 Days
*/
years = inputDays/365;
// Remaining days after year
inputDays = inputDays - years*365;
months = inputDays/30;
// Remaining days after month
inputDays = inputDays - months*30;
weeks = inputDays/7;
// Remaining days after week
inputDays = inputDays - weeks*7;
days = inputDays;
printf("Years : %d\n", years);
printf("Months : %d\n", months);
printf("Weeks : %d\n", weeks);
printf("Days : %d", days);
return 0;
}
Output
Enter number of Days 400 Years : 1 Months : 1 Weeks : 0 Days : 5