C語言—— 閏年判斷
阿新 • • 發佈:2018-11-12
1,判斷某一年是不是閏年
2,找出1000-2000年之間的閏年
判斷閏年的方法:
1,如果該年份既能被4整除又不能被100整除,則是閏年
2,如果該年份能被400整除,則是閏年
1,判斷某一年是不是閏年
(1)用if巢狀語句實現
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main() { int leap; int year; scanf("%d", &year); if (0 == year % 4) { if (0 != year % 100) { leap = 1; } else { if (0 == year % 400) { leap = 1; } else { leap = 0; } } } else { leap = 0; } if (0 == leap) { printf("%d年不是閏年\n",year); } else { printf("%d年是閏年\n", year); } system("pause"); return 0; }
(2)用邏輯表示式實現
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int year;
scanf("%d", &year);
if ((0 == year % 4 && 0 != year % 100) || (0 == year % 400))
{
printf("%d年是閏年\n", year);
}
system("pause");
return 0;
}
(3)用函式實現
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int leapyear(int year) { int leap; if (0 == year % 4) { if (0 != year % 100) { return leap = 1; } else { if (0 == year % 400) { return leap = 1; } else { return leap = 0; } } } else { return leap = 0; } } int main() { int year; int ret; scanf("%d", &year); ret = leapyear(year); if (0 == ret) { printf("%d年不是閏年\n",year); } else { printf("%d年是閏年\n", year); } system("pause"); return 0; }
2,找出1000-2000年之間的閏年
定義變數count,計算一下1000-2000年之間閏年的數量
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> int main() { int leap; int year; int count = 0; for (year = 1000; year <= 2000; year++) { if (0 == year % 4) { if (0 != year % 100) { leap = 1; } else { if (0 == year % 400) { leap = 1; } else { leap = 0; } } } else { leap = 0; } if (1 == leap) { count++; printf("%d ",year); } } printf("\ncount = %d", count); system("pause"); return 0; }