Упражнения на С ++: отображение всех високосных лет между двумя данными годами
C ++ Basic: упражнение 79 с решением
Напишите программу на C ++, чтобы отобразить все високосные годы между двумя данными годами. Если в данный период високосного года нет, отобразите подходящее сообщение.
Примечание. Диапазон двух данных лет: (0 <год1 ≤ год2 <3000).
Пример решения :
Код C ++:
#include <bits/stdc++.h>
#define range(i,a,b) for(int (i)=(a);(i)<(b);(i)++)
#define rep(i,n) range(i,0,n)
using namespace std;
inline bool isleap(int year){
if(year%400==0)
return true;
if(year%100==0)
return false;
if(year%4==0)
return true;
return false;
}
int main(void){
int a,b;
bool space=false;
cin >> a >> b;
cout << "Input years: " << a << " - " << b;
cout << "\nLeap years between said years:\n";
if(space) puts("");
bool ans=false;
range(i,a,b+1) if(isleap(i)) cout << i << endl,ans=true;
if(!ans) puts("No leap years.");
space=true;
return 0;
}
Пример вывода:
Входные годы: 1975 - 2018 Високосные годы между указанными годами: 1976 1980 1984 1988 1992 1996 2000 2004 2008 2012 2016
Блок - схема:
Редактор кода C ++:
Внесите свой код и комментарии через Disqus.
Предыдущий: Напишите программу на C ++ для суммирования всех натуральных чисел в предложении.
Далее: Напишите программу на C ++, которая принимает n разных чисел (от 0 до 100) и s, равную сумме n разных чисел.
Каков уровень сложности этого упражнения?
Новый контент: Composer: менеджер зависимостей для PHP , R программирования
disqus2code