首页 > 其他分享 >【C语言初级】使用函数求闰年

【C语言初级】使用函数求闰年

时间:2022-10-01 18:23:49浏览次数:45  
标签:count %- 年份 闰年 C语言 初级 倍数 printf

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

普通闰年:公历年份是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那个数字来改变每行的个数。

以上就是本篇博客的全部内容啦,由于博主才疏学浅,难免会出现纰漏,希望大佬们能够不吝赐教,在评论区或者私信指正都可以,博主一定及时修正。那么大家下期再见啦~~

标签:count,%-,年份,闰年,C语言,初级,倍数,printf
From: https://www.cnblogs.com/lixiao-lulu/p/16747534.html

相关文章

  • 【C语言】给定两个数,求这两个数的最大公约数
    ​​intmain()​​​​{​​​​​intnum1=0;​​​​ intnum2=0;​​​​ inta=0;​​​​ scanf("%d%d",&num1,&num2);​​​​ while(a=num1%num2......
  • C语言中的循环语句要点
    C语言中循环语句主要有三种:while;for;dowhile。1.while循环​​//while语法结构​​​​while(表达式)​​​​{​​​​循环语句;​​​​}​​1.1while语句中的break......
  • 初学C语言笔记221001
    int(*p)[5]  此时数组指针p约等于一个含有5个int型元素数组的数组名*p就是数组int[5]的第一个元素的地址p+1就是跳过int[5]数组的下一个同int[5]类型的数组名*(p+1)再解......
  • C语言第20天,typedef关键词和条件编译
    1.给整型类型取别名原因:我们在整型数据类型中讨论过的,C语言标准并未规定这些数据类型的大小范围,具体的实现交由了编译器和平台决定。也就是说,int在VisualStudio2019中......
  • C语言的enum(枚举)
    一、enum的语法格式为:enum枚举名{枚举元素1,枚举元素2,……}; 二、用enum代替define繁琐的定义1、繁琐的define定义:#defineMON1#defineTUE2#defineW......
  • C语言每日一题——第四天
    第四天小明这两天写代码有些累。。他差点忘记了9月30日的下一天是十月一日……于是决定写一个程序告诉他每个月有多少天。执行:main.exeA输出:31输入程序通过命令行......
  • C语言中常用的英语单词
    学习编程不一定需要英语水平很高,能记住认识一些常用的英文单词也可以,有看不明白的文档资料也可以使用翻译工具,编写代码时大部分好用的IDE都是有代码提示的。本文主要介绍C......
  • C语言中的变量——自动变量、寄存器变量、易失变量、外部变量和静态变量
    参考链接:C程序设计语言4.6、4.7节UNIX环境高级编程7.10节函数setjmp和longjmphttps://blog.csdn.net/weixin_46309058/article/details/122042561 变量的存储类别......
  • 【c语言编程基础】结构体单向链表的基本操作
    前言 关注点 code#include<stdio.h>#include<stdlib.h>#include<string.h>//strcat#defineSize4typedefstructTable{intlen;intsize;......
  • 【C语言基础】C语言数据类型及数据对齐
    前言code#include<stdio.h>#include<stdlib.h>#defineSize5typedefstructTable{charlength;charsize;charss;intlen;}table;tabl......