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

Introduction To Algorithms, 3rd Edition

Before there were computers, there were algorithms. But now that there are computers, there are even more algorithms, and algorithms lie at the heart of computing. This book provides a comprehensive introduction to the modern study of computer algorithms. It presents many algorithms and covers them in considerable depth, yet makes their design and analysis accessible to all levels of readers. In this book, the authors tried to keep explanations elementary without sacrificing depth of coverage or mathematical rigor. Each chapter presents an algorithm, a design technique, an application area, or a related topic. Algorithms are described in English and in a pseudocode designed to be readable by anyone who has done a little programming. The book contains 244 figures — many with multiple parts — illustrating how the algorithms work. It also includes careful analysis of the running times of all algorithms. In this third edition, the entire book once again updated including changes cove...

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;   }

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...