Find Day from Day in C Without using function
Introduction: In the given article, I find daily in C without using functions. It takes 365 days for the earth to revolve around the sun. It will be close to 365.25 days. So if 12 months appear as his year, four years will end in a total of 1 day. This happens once every four years. Four-digit years such as 0004 and 0008 are leap years starting at 0001. A year has 12 months. They have the subsequent lengths (quantity of Days): February 28 (if it is a nonleap year 12 months) and February 29 (if it is a nonleap year 12 months).
March contains 31 days thru April contains 30 days, May also contains 31 days, June contains 30 days, August contains 31 days, September contains 30 days, December contains 31 days via January contains 31 days. The full is 365 days if the year is a nonleap year and 366 days if the year is a leap year. We observed a reality that is 01-01-0001 with the aid of moving backward. That is Monday, January 1, 0001. This is the foundation of your program.
Example 1: Here is an example of the tag by tag in C without using functions. So, below we write a program about it –
#include <stdio.h>
int dayofweek (int d, int m, int y)
{
Static int t[] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};
y -= m < 3;
return (y + y/4 – y/100 + y/400 + t[m-1] + d) % 7;
}
int main()
{
int day = dayofweek( 05, 05, 2000);
printf (“%d”, day);
return 0;
}
Output: We compile the above program and run it. Then the result is:
5 (Friday)
Example 2: Here, we give another example of finding day from the day in C without using function. So, below we write a program about it –
# include < stdio . h >
# include < conio . h >
void main ( )
{
int date , month , year , i , r , s = 0 ;
int month [ 12 ] = { 31 , 28 , 31 , 30 , 31 , 30 , 31 , 31 , 30 , 31 , 30 , 31 } ;
char week [ 7 ] [ 10 ] ;
clrscr ( ) ;
strcpy ( week [ 0 ] , " Sunday " ) ;
strcpy ( week [ 1 ] , " Monday " ) ;
strcpy ( week [ 2 ] , " Tuesday " ) ;
strcpy ( week [ 3 ] , " Wednesday " ) ;
strcpy ( week [ 4 ] , " Thursday " ) ;
strcpy ( week [ 5 ] , " Friday " ) ;
strcpy ( week [ 6 ] , " Saturday " ) ;
printf ( "Please enter a valid date ( dd / mm / yyyy ) : " ) ;
scanf ( " % d / % d / % d " , & date , & month , & year ) ;
if ( ( year % 400 = = 0 ) | | ( ( year % 4 = = 0 ) & & ( year % 100 ! = 0 ) ) )
month [ 1 ] = 29 ;
for ( i = 0 ; i < month - 1 ; i + + )
s = s + month [ i ] ;
s = s + ( date + year + ( year / 4 ) - 2 ) ;
s = s % 7 ;
printf ( " \ n The day is : % s " , week [ s ] ) ;
return 0;
}
Output: We compile the above program and run it. Then the result is:
Please enter a valid date ( dd / mm / yyyy ) : (05/04/2000)
The day is: Monday
Explain the above program: The array month[12] of integer type can store 12 different integers. Also, this array is initialized at the time of declaration. For example, the first value of 30 indicates that June has 30 days. Char [7] [10] - This is a one-kind array from the month [12] array cited earlier than when you consider that it's far a multidimensional array of the kind individual. Integers are used to record the day, month, and 12 months the person provided. Other integers are I, r, and s. Here, instead of initializing the char[7][10] array on assertion, instead of initializing the month[12] array, we use the C language string replication property strcpy.end.
So here, we search by day in C without using a function. It also shows an example and the output of this program.