当前位置:   article > 正文

【C语言初级】使用函数求闰年_c语言统计闰年数量

c语言统计闰年数量

想求闰年,首先得了解闰年的规则:

普通闰年:公历年份是4的倍数,且不是100的倍数的,为闰年(如2004年、2020年等就是闰年)。
世纪闰年:公历年份是整百数的,必须是400的倍数才是闰年(如1900年不是闰年,2000年是闰年)。

有了闰年的判断规则,就好办了

首先就是构造main函数,将输入、输出和函数的位置写出来:
#include <stdio.h>
int main()
{
	int a = 0;
	scanf("%d", &a);//输入xx年
	run_nian(a);//计算xx年之前的闰年的年份
	printf("%d", a);//显示xx年之前的闰年
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

接着构造闰年判定函数 run_nian:

第一步,构造一个for循环,把从零开始到输入数值递增的每一年都逐个判断一遍。

(因为这里默认是公元后,正数的年份,所以也可以加一个unsigned,无符号整形,增加可以判断的年份的范围)

int run_nian(a)
{
	int x;
	for (x = 0; x < a; x++) 
	{

		}
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
第二步,将闰年的两个判断条件用if语句写出来,即:
if (x % 4 == 0 && x % 100 != 0)//年份为四的倍数,并且不是一百的倍数
		{
			printf("%-4d	", x);
		}
		if (x % 400 == 0)//年份为四百的倍数
		{
			printf("%-4d	", x);
		}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

输入2000,运算结果如下(未展示完全):

在这里插入图片描述
好了,这样基本就大功告成了,但是这样的结果还是稍微有一些不美观,可以看到每一行最后一个数字是进行了换行的,一个数字分成了两个数字。虽然可以通过拉伸窗口调整,但这并不是我们想要的。

那么可以通过增加一个打印换行的变量count控制换行的频率
	for (x = 0; x < a; x++) 
	{
		if (x % 4 == 0 && x % 100 != 0)
		{
			printf("%-4d	", x);
			count = count++;
			if (count % 8 == 0)
			//每打印8个闰年就换一次行,即一行八个数字
				printf("\n");
		}
		if (x % 400 == 0)
		{
			printf("%-4d	", x);
			count = count++;
			if (count % 8 == 0)
				printf("\n");
		}

	}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

输入2000时,运行结果如下:
在这里插入图片描述
当然,你如果觉得每一行的年份过少,也可以通过改变count那一行的8那个数字来改变每行的个数。

写在最后
如果本文对您有帮助,可不可以给我一个小小的点赞呀❤~您的支持是我最大的动力。

博主小白一枚,才疏学浅,难免有所纰漏,欢迎大家讨论和提出问题,博主一定第一时间改正。

谢谢观看嘿嘿(๑•̀ㅂ•́)و✧~!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/590859?site
推荐阅读
相关标签
  

闽ICP备14008679号