小白学习新知识:用c语言求出1000到2000年中的闰年,并计算出个数。

本文介绍了如何使用C语言通过if-else嵌套、逻辑运算符&&和||以及自定义函数实现闰年的判断,展示了不同方法在判断闰年的代码实例。
摘要由CSDN通过智能技术生成

学习自b站c语言教学视频。

闰年判断规则
1.能被4整除,并且不能被100整除的
2.能被400整除

知识点:if语句,for循环,自定义函数,&&,||字符的含义。

进入if语句后就不会再进入else if语句,而两个if语句并列,两种情况都会进行判断。
 

方法1.用两个if语句嵌套来实现

#include <stdio.h>
int main()
{
	int year = 0;
	int sum = 0;
	for (year = 1000; year <= 2000; year++)
	{
		if (year % 4 == 0)
		{
			if (year % 100 != 0)
			{
				printf("%d ", year);
				sum++;
			}
		}
		if (year % 400 == 0)
		{
			
			printf("%d ", year);
			sum++;
		}
	}
	printf("\nsum=%d ", sum);
	return 0;
}

方法2.运用&&和||字符来实现。

#include <stdio.h>
int main()
{
	int year = 0;
	int sum = 0;
	for (year = 1000; year <= 2000; year++)
	{
		if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
 //&&是并且的意思,||是或者的意思。
		{
			sum++;
			printf("%d ", year);
		}
	}
	printf("\nsum=%d\n", sum);

	return 0;
}

方法3.调用自定义函数leap_year()

 函数的功能一定要实现的足够单一,足够简单。即高内聚,低耦合。

#include<stdio.h>
int leap_year(int y)
{
	if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0)
	{
		//是闰年返回1,不是闰年返回0
		return 1;

	}
	else
	{
		return 0;
	}
}
int main()
{
	int year = 0;
	int sum = 0;
	for (year = 1000; year <= 2000; year++)
	{
		if (leap_year(year))//返回1则为真,返回0则为假,不是闰年。
		{
			sum++;
			printf("%d ", year);
		}
	}
	printf("\nsum=%d\n ", sum);
	return 0;
}

### 回答1: 可以使用以下代码实现: ```java public class LeapYear { public static void main(String[] args) { int count = 0; // 计数器,记录每行已经输了几个闰年 for (int year = 1000; year <= 2000; year++) { if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) { System.out.print(year + " "); count++; if (count % 4 == 0) { // 输四个后换行 System.out.println(); count = 0; } } } } } ``` 输结果如下: ``` 1004 1008 1012 1016 1020 1024 1028 1032 1036 1040 1044 1048 1052 1056 1060 1064 1068 1072 1076 1080 1084 1088 1092 1096 1104 1108 1112 1116 1120 1124 1128 1132 1136 1140 1144 1148 1152 1156 1160 1164 1168 1172 1176 1180 1184 1188 1192 1196 1204 1208 1212 1216 1220 1224 1228 1232 1236 1240 1244 1248 1252 1256 1260 1264 1268 1272 1276 1280 1284 1288 1292 1296 1304 1308 1312 1316 1320 1324 1328 1332 1336 1340 1344 1348 1352 1356 1360 1364 1368 1372 1376 1380 1384 1388 1392 1396 1404 1408 1412 1416 1420 1424 1428 1432 1436 1440 1444 1448 1452 1456 1460 1464 1468 1472 1476 1480 1484 1488 1492 1496 1504 1508 1512 1516 1520 1524 1528 1532 1536 1540 1544 1548 1552 1556 1560 1564 1568 1572 1576 1580 1584 1588 1592 1596 1604 1608 1612 1616 1620 1624 1628 1632 1636 1640 1644 1648 1652 1656 1660 1664 1668 1672 1676 1680 1684 1688 1692 1696 1704 1708 1712 1716 1720 1724 1728 1732 1736 1740 1744 1748 1752 1756 1760 1764 1768 1772 1776 1780 1784 1788 1792 1796 1804 1808 1812 1816 1820 1824 1828 1832 1836 1840 1844 1848 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 1892 1896 1904 1908 1912 1916 1920 1924 1928 1932 1936 1940 1944 1948 1952 1956 1960 1964 1968 1972 1976 1980 1984 1988 1992 1996 2000 ``` ### 回答2: 以下是用Java代码实现的答案: ```java public class LeapYearPrinter { public static void main(String[] args) { int startYear = 1000; int endYear = 2000; int count = 0; for (int year = startYear; year <= endYear; year++) { if (isLeapYear(year)) { System.out.print(year + " "); count++; if (count % 4 == 0) { System.out.println(); } } } } public static boolean isLeapYear(int year) { if (year % 400 == 0) { return true; } else if (year % 100 == 0) { return false; } else if (year % 4 == 0) { return true; } else { return false; } } } ``` 该代码,我们首先定义了起始份startYear和结束份endYear。然后我们使用for循环遍历这个份范围内的所有份。在循环,我们调用isLeapYear方法来判断当前份是否为闰年。如果是闰年,我们就打印来,并且使用count变量来记录当前打印的闰年个数。当count的值是4的倍数时,我们就输一个换行符,以每行四个数的形式输。最后,通过判断每是否能被4整除、能被100整除但不能被400整除来判断是否为闰年。 ### 回答3: 要打印1000-2000的所有闰年,可以使用Java的循环和条件判断来实现。 首先,我们可以使用一个循环来遍历从10002000的所有份。循环的终止条件是当前份小于等于2000。 然后,我们可以在每一次循环判断当前份是否为闰年闰年是指能被4整除但不能被100整除的份,或者是能被400整除的份。我们可以使用条件判断语句来判断当前份是否满足这两个条件。 如果当前份是闰年,我们可以使用一个变量来计数,并根据计数的值来判断是否需要换行输。当计数的值能被四整除时,换行输,否则在同一行输。 以下是用Java代码实现的示例: ```java public class LeapYear { public static void main(String[] args) { int count = 0; // 计数变量 for (int year = 1000; year <= 2000; year++) { if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { System.out.print(year + " "); // 输当前闰年 count++; // 计数递增 if (count % 4 == 0) { System.out.println(); // 每四个份换行输 } } } } } ``` 运行以上代码会依次输1000-2000的所有闰年,并且每行会以四个数的形式输
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值