C语言计算是否为闰年

简介: 用C语言代码来实现计算闰年

所需头函数:

#include<stdio.h>

#include<stdbool.h>

#include<stdlib.h>


定义一个存储年月日的结构体

structdate {

 intmonth;

 intday;

 intyear;

} ;


完整代码呈现

boolisLeap(structdated);

intnumberOfDays(structdated);


intmain(intargc, charconst *argv[])

{

 structdatetoday, tomorrow;

 

 printf("Enter today's date (mm dd yyyy):");

 scanf("%i%i%i", &today.month, &today.day, &today.year);

通过三个判断语句来一点一点分析

 if( today.day != numberOfDays(today) ) {

 tomorrow.day = today.day+1;

 tomorrow.month = today.month;

 tomorrow.year = today.year;

} elseif (today.month == 12 ) {

 tomorrow.day = 1;

 tomorrow.month = 1;

 tomorrow.year = today.year + 1;

} else {

 tomorrow.day = 1;

 tomorrow.month = today.month+1;

 tomorrow.year = today.year;

}

 

 printf("Tomorrow's date is %i-%i-%i.\n", tomorrow.year, tomorrow.month, tomorrow.day);

 

 return0;

}


intnumberOfdays(structdated)

{

 intdays;

 

 constintdaysPerMonth[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

 if ( d.month ==2 && isLeap(d) )

{

 days = 29;

}else

{

 days = daysPerMonth[d.month-1];

}

 returndays;

}


boolisLeap(structdated)

{

 boolleap = false;

 

 if( (d.year %4 == 0 && d.year %100 !=0 ) || d.year%400 == 0 )

 leap = true;

 

 returnleap;

}

相关文章
|
7月前
|
C语言
【C语言】库宏offsetof(结构体成员偏移量计算宏)
【C语言】库宏offsetof(结构体成员偏移量计算宏)
62 0
|
7月前
|
存储 编译器 Linux
【C语言】自定义类型:结构体深入解析(二)结构体内存对齐&&宏offsetof计算偏移量&&结构体传参
【C语言】自定义类型:结构体深入解析(二)结构体内存对齐&&宏offsetof计算偏移量&&结构体传参
|
19天前
|
存储 算法 安全
C 语言中的位运算:挖掘底层计算的高效力量
位运算是C语言中直接操作二进制位的一种技术,能高效处理底层数据,广泛应用于优化算法、硬件编程等领域,是掌握C语言高级特性的关键之一。
|
21天前
|
存储 算法 C语言
C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项
本文深入探讨了C语言中常见的字符串处理技巧,包括字符串的定义、初始化、输入输出、长度计算、比较、查找与替换、拼接、截取、转换、遍历及注意事项,并通过案例分析展示了实际应用,旨在帮助读者提高编程效率和代码质量。
62 4
|
6月前
|
存储 C语言
【C语言刷题每日一题#牛客网HJ73】——计算日期到天数转换(给定日期,计算是该年的第几天)
【C语言刷题每日一题#牛客网HJ73】——计算日期到天数转换(给定日期,计算是该年的第几天)
|
6月前
|
存储 安全 C语言
【C语言刷题每日一题】——求最大公约数(带数学计算过程详解)
【C语言刷题每日一题】——求最大公约数(带数学计算过程详解)
|
6月前
|
存储 C语言
【C语言刷题每日一题】——计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果
【C语言刷题每日一题】——计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值,打印出结果
|
6月前
|
C语言
C语言---试计算在区间1 到n 的所有整数中,数字x(0 ≤ x ≤ 9)共出现了多少次?
C语言---试计算在区间1 到n 的所有整数中,数字x(0 ≤ x ≤ 9)共出现了多少次?
|
6月前
|
存储 C语言
C语言学习记录——联合体(共用体、特点、用法、联合体大小计算)
C语言学习记录——联合体(共用体、特点、用法、联合体大小计算)
104 2
|
6月前
|
C语言
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)
【C语言刷题系列】计算整数的二进制位中1的个数 (三种方式)