判断是否为闰年,并且计算生日是第几天
来源:互联网 发布:金方圆数控冲床编程 编辑:程序博客网 时间:2024/05/16 15:32
定义一个结构体变量(包含年月日),计算该日在本年中为第几天?要求写一个days函数。参数是此结构体类型的变量,返回值是整数。
typedef struct days {
int year;
int month;
int day;
}Days;
//计算该日在当年是第几天,实现函数
第一种方法
int days(Days a);
int days(date dat)
{int a[12] = {0,31,59,90,120,151,181,212,243,273,304,334};
int day = 0;
BOOL isTrue ; // 用于判断该年是否为闰年
// 判断该年是否为闰年
if (dat.year % 400 == 0 || (dat.year % 4 == 0 && dat.year % 100 != 0)) {
isTrue = 1; // 如果该年是闰年,令isTrue 为 1
} else {
isTrue = 0;
}
day += a[dat.month - 1] + dat.day;
day += isTrue && dat.month >= 3 ? 1 : 0;
第二种方法
int days(Days a) {//这里的Days表示的是形参的数据类型为Days,从而在main.m中必须定义和Days相同的数据类型
int sum = 0;
int i = a.month;
if (a.year %400 == 0 || (a.year %4 == 0 && a.year %100 != 0)) {
switch (i - 1) {
case 12:
printf("输入错误");
case 11:
sum +=30;
case 10:
sum +=31;
case 9:
sum +=30;
case 8:
sum +=31;
case 7:
sum +=31;
case 6:
sum +=30;
case 5:
sum +=31;
case 4:
sum +=30;
case 3:
sum +=31;
case 2:
sum +=29;
case 1:
sum +=31 ;
break;
default:
printf("输入错误");
break;
}
sum += a.day;
}else {
switch (i - 1) {
case 12:
printf("输入错误");
case 11:
sum +=30;
case 10:
sum +=31;
case 9:
sum +=30;
case 8:
sum +=31;
case 7:
sum +=31;
case 6:
sum +=30;
case 5:
sum +=31;
case 4:
sum +=30;
case 3:
sum +=31;
case 2:
sum +=28;
case 1:
sum +=31 ;
break;
default:
printf("输入错误");
break;
}
sum += a.day;
}
Days calcuDay = {2001,10, 28};
printf("%d",days(calcuDay));
- 判断是否为闰年,并且计算生日是第几天
- java技术支持 计算几月有几天和判断是否为闰年的工具类
- 生日是第几天
- 判断是否是闰年
- 判断是否是闰年
- 判断是否是闰年?
- 判断是否是闰年
- 判断是否是闰年
- 判断是否是闰年
- 判断是否是闰年
- 判断是否是闰年
- 判断是否为闰年
- 判断是否为闰年
- 判断是否为闰年
- 判断是否为闰年
- 判断是否为闰年
- 判断是否为闰年
- 判断是否为闰年
- pat 1080. Graduate Admission (30) 浙大复试上机第四题
- 优秀编程人员的十个习惯
- Unity for mac 4.3.1 最新破解版 3D视频游戏 三维动画开发 支持10.9
- 599 奋斗的小蜗牛
- 设计模式——工厂方法模式
- 判断是否为闰年,并且计算生日是第几天
- WINDOWS XP,32位下 编译运行Bundler,并利用PMVS,CMVS生成密集点云模型
- 最小外包矩形
- 613 免费馅饼
- Matlab类似科学计算软件集
- TMS320F28335学习笔记-启动过程
- Leetcode--Combination Sum II
- Unable to resolve target 'android-XX'
- arm 指令 学习载录