Program 184: Calculate Day from given Date
//Coming Soon...
Output:
#include <stdio.h> #include<stdlib.h> #include <string.h> char* months[] = {"Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec","Jan","Feb"}; char* days[]= { "sunday","monday", "tuesday", "wednesday", "thursday", "friday", "saturday" }; main() { //Using Zellers Rule f = k + [(13*m-1)/5] + D + [D/4] + [C/4] - 2*C //Ex for 29 Jan 2064 //k---day of the month as 29 //m-month number as March=1 ..Feb=12,so here it is 11 //D--last two digits of year from above it is 64 //C--first two digits of year from above it is 20 int k,m,D,C,year,i,f,finalday,flag=0; char str[3]; printf("Enter date \n"); scanf("%d",&k); if(k<=0||k>31) { printf("Invalid Date\n"); exit(0); } printf("Enter first 3 letters of month of the year ex:-for January enter Jan\n"); scanf("%s",str); for(i=0; i<12; i++) { if(!strcmp(str,months[i])) { m=i+1; flag=1; break; } } if(flag==0) { printf("Invalid Month\n"); exit(0); } printf("Enter year\n"); scanf("%d",&year); if(m==11||m==12) { year=year-1; } D=year%100; C=year/100; f = (k+(((13*m)-1)/5)+D+(D/4)+(C/4))-(2*C); if(f>=0) { finalday=f%7; } else { finalday=((f%7)+7)%7; } printf("The Day for given %d,%s %d is\n%s\n",k,str,year,days[finalday]); }Explanation:
//Coming Soon...
Output:
No comments:
Post a Comment