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

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

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

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

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

		}
	}
}

第二步,将闰年的两个判断条件用if语句写出来,即:

if (x % 4 == 0 && x % 100 != 0)//年份为四的倍数,并且不是一百的倍数
		{
    
    
			printf("%-4d	", x);
		}
		if (x % 400 == 0)//年份为四百的倍数
		{
    
    
			printf("%-4d	", x);
		}

输入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");
		}

	}

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

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

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

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

猜你喜欢

转载自blog.csdn.net/weixin_70218204/article/details/127135646