计算日期c语言(结构体+函数+闰年判断)
来源:互联网 发布:明星脸测试软件 编辑:程序博客网 时间:2024/04/29 21:27
问题:定一个结构体变量(包括 年 月 日),并用一个days的函数 计算出该日在这一年中是第几天,注意闰年的问题。
例如:intput 2009 12 25
output 359
代码
解法一
#include<stdio.h>
struct //y_m_d //定义结构体;
{
int year;
int month;
int day;
}date; //定义结构体变量名;
int main ()
{
int days(int year, int month, int day); //调用函数days;
//int days(int, int, int); //定义函数类型,可有可无;
int day_sum;
scanf("%d%d%d",&date.year,&date.month,&date.day); //结构体的输入方式;
day_sum=days(date.year,date.month,date.day); //结构体的初始分配空间;
printf("%d\n",day_sum);
}
int days(int year, int month, int day) //调用函数;
{
int day_sum,i;
int day_tap[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31}; //定义月数数组;
day_sum=0;
for(i=1; i<date.month; i++)
{
day_sum+=day_tap[i];
}
day_sum+=date.day;
if((date.year%4==0&&date.year%100!=0||date.year%400==0)&&date.month>=3) //判断闰年;
day_sum++; //计算完所有日期,最后判断闰年,是闰年加1;
return (day_sum);
}
解法二
#include<stdio.h>
struct y_m_d //定义结构体;
{
int year;
int month;
int day;
}date; //定义结构体变量名;
int main ()
{
int days(struct y_m_d date1); //调用函数days;
scanf("%d%d%d",&date.year,&date.month,&date.day); //结构体的输入方式;
printf("%d",days(date));
}
int days(struct y_m_d date1) //定义函数;
{
int sum;
switch(date1.month) //switch的使用;
{
case 1:sum=date1.day; break;
case 2:sum=date1.day+31; break;
case 3:sum=date1.day+59; break;
case 4:sum=date1.day+90; break;
case 5:sum=date1.day+120; break;
case 6:sum=date1.day+151; break;
case 7:sum=date1.day+181; break;
case 8:sum=date1.day+212; break;
case 9:sum=date1.day+243; break;
case 10:sum=date1.day+273; break;
case 11:sum=date1.day+304; break;
case 12:sum=date1.day+334; break;
}
if((date.year%4==0&&date.year%100!=0||date.year%400==0)&&date.month>=3) //判断闰年;
sum++;
return (sum);
}
- 计算日期c语言(结构体+函数+闰年判断)
- 计算日期c语言(结构体+函数+闰年判断)
- C语言闰年判断函数
- C语言基础函数 判断是否闰年
- c语言 计算闰年
- C语言:判断闰年
- C语言-判断闰年
- C语言判断闰年
- 【C语言】判断闰年
- C语言:实现一个函数判断year是不是闰年
- C语言判断闰年问题
- 用c语言判断闰年
- 判断闰年C语言实现
- C语言之判断闰年
- Problem C: 函数---闰年判断
- 【C语言】判断闰年+判断素数
- C语言编写,判断闰年的方法!
- 不同的C语言闰年判断
- Android-Activity详解
- NYOJ 题目252 01字串
- 安装数据库找不到数据库引擎启动句柄
- c++ primer 学习笔记(1): 第1-5章
- C++ Primer 学习笔记_39_STL实践与分析(13)--multimap与multiset
- 计算日期c语言(结构体+函数+闰年判断)
- 替换空格
- 理解java数组的内部机制
- 设计模式之:适配器模式
- 单因素下的方差分析
- android camera使用ISO值录制视频
- C++ Primer 学习笔记_40_STL实践与分析(14)--概要、先来看看算法【上】
- 讲义六 java中的数组
- NYOJ 214 最长上升子序列(二)