Skip to main content

C Program To Find Leap Years.

In the Gregorian calendar (the current standard calendar in the world), normally the years that are integer multiples of 4 are called leap years. In each leap year, the month of February has 29 days instead of 28. Adding an extra day to the calendar every four years compensates for the fact that a period of 365 days is shorter than a solar year by almost 6 hours. The Gregorian calendar was first used in 1582.

Some exceptions to this basic rule are required since the duration of a solar year is slightly less than 365.25 days. Over a period of 4 centuries, the accumulated error of adding a leap day every 4 years amounts to about 3 extra days. The Gregorian calendar therefore omits 3 leap days every 400 years, which is the length of its leap cycle. This is done by omitting February 29 in the 3 century years (integer multiples of 100) that are not also integer multiples of 400. For example, 1700, 1800, 1900, 2100 and 2200 are common years, but 1600, 2000 and 2400 are leap years. By this rule, the average number of days per year is 365 + 1/4 − 1/100 + 1/400 = 365.2425.

There is no year 0. The first year in the Gregorian calendar is year 1. The year before 1AD in the western calendar is 1BC, not "year 0".

Method 1:
#include <stdio.h>
int main() {

int year;
printf(" Enter a year: ");
scanf("%d", &year);

while ( year <= 0) {
printf("\n\nWrong Input! The Gregorian Calendar Starts with Year 1.\n\n");
return 0;
}

while ( year > 0) {

if ( year%400 == 0)
printf("\n\n %d is a leap year.\n\n", year);
else if ( year%100 == 0)
printf("%\n\n %d is not a leap year.\n\n", year);
else if ( year%4 == 0 )
printf("\n\n %d is a leap year.\n\n", year);

else
printf("\n\n %d is not a leap year.\n\n", year);
return 0;
}}

Method 2:
#include<stdio.h>
int main() {

int year;
printf(" Enter any year: ");
scanf("%d",&year);

while ( year <= 0) {
printf("\n\nWrong Input! The Gregorian Calendar Starts with Year 1.\n\n");
return 0;
}

while ( year > 0) {
if(((year%4==0)&&(year%100!=0))||(year%400==0))
printf("\n\n %d is a leap year.\n\n",year);
else
printf("\n\n %d is not a leap year.\n\n",year);
return 0;
}}

Method 3: Find the leap years between a given year range
#include<stdio.h>
int main(){

int year;
int min_year,max_year;
printf("\n\n Enter the lowest year: ");
scanf("%d",&min_year);
printf("\n\n Enter the highest year: ");
scanf("%d",&max_year);

if (( min_year < 1)||(max_year <1)) {
printf("\n\nWrong Input! The Gregorian Calendar Starts with Year 1.\n\n");
return 0;
}

if ( min_year > max_year) {
printf("\n\n Wrong Input!\n\n");
return 0;
}
printf("\n\n Leap years in the given range are: ");

for(year = min_year;year <= max_year; year++){
if(((year%4==0)&&(year%100!=0))||(year%400==0))
printf("%d ",year);
}
printf("\n\n");
return 0;
}

Popular posts from this blog

The Basics Of C Programming - Part 3.

There are a number of different C input commands, the most useful of which is the scanf command. To read a single integer value into the variable called a you can use: scanf("%d",&a); When the program reaches the scanf statement it pauses to give the user time to type something on the keyboard and continues only when users press Enter or Return, to signal that he, or she, has finished entering the value. Then the program continues with the new value stored in a. In this way, each time the program is run the user gets a chance to type in a different value to the variable and the program also gets the chance to produce a different result! The final missing piece in the jigsaw is using the printf function, the one we use to print the value currently being stored in a variable. To display the value stored in the variable a you can use: printf("The value stored in a is %d",a); Note: the scanf function does not prompt for an input. You should ge...

C++ Program To Implement Bank Management System.

#include<iostream> #include<fstream> #include<cctype> #include<iomanip> #include <cstdlib> using namespace std; class account { int acno; char name[50]; int deposit; char type; public: void create_account(); //function to get data from user void show_account() const; //function to show data on screen void modify(); //function to add new data void dep(int); //function to accept amount and add to balance amount void draw(int); //function to accept amount and subtract from balance amount void report() const; //function to show data in tabular format int retacno() const; //function to return account number int retdeposit() const; //function to return balance amount char rettype() const;  //function to return type of account }; void account::create_account() { cout<<"\nEnter The Account No. : "; cin>>acno; cout<<"\n\nEnter The Name Of The Account Holder : "; cin.ig...

C Program To Check Whether A Number Is Palindrome Or Not.

This program takes an integer from user and the integer is reversed. If the reversed integer is equal to the integer entered by user then that number is a palindrome. If not that number is not a palindrome.   #include <stdio.h> int main()  { int num, temp, remainder, reverse = 0; printf("Enter an integer: "); scanf("%d", &num); /*  original number is stored at temp */ temp = num; while (num > 0)  { remainder = num % 10; reverse = reverse * 10 + remainder; num /= 10;   }

C Program To Convert Natural Numbers To Roman Numerals.

Roman Number System of representing numbers devised by the ancient Romans. The numbers are formed by combinations of the symbols I, V, X, L, C, D, and M, standing, respectively, for 1, 5, 10, 50, 100, 500, and 1,000 in the Hindu-Arabic numeral system. Natural numbers mean no negative numbers and no fractions, i.e. the whole numbers from 1 upwards: 1, 2, 3, and so on. Here is source code of the C program to convert natural numbers to Roman Numerals. It compiles and runs on any operating system. #include <stdio.h> void predigit(char num1, char num2); void postdigit(char c, int n); char romanval[1000]; int i = 0; int main() { int j; long number; printf("Enter any natural number: "); scanf("%d", &number);