c语言 输出一个日期是该年的第几天
程序员文章站
2022-05-23 09:18:34
...
这个版本逻辑相对清晰,错误输入的判断十分完整;
#include <stdio.h>
/*******tonytrek 2021.7.17**********/
//input date,out put the count of the day from the begain of that year
int data_cal(int,int,int);
int main()
{
int year=2012,month=2,date=29;
int ret=data_cal(year,month,date);
printf("ret=%d\n",ret);
return 0;
}
int data_cal(int year,int month,int date)
{
int data_list[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int iter,cal;
if(0==year%400||(0!=year%100&&0==year%4)) //first level data exception
data_list[1]+=1;
if(year<1000||year>4000||month>12||month<0||date<0) //second level data exception
{
printf("bad inpute date\n");
return -1;
}
if(date>data_list[month-1])
{
printf("bad data\n");
return -1;
}
for(iter=0;iter<month-1;iter++)
{
cal+=data_list[iter];
}
cal+=date;
return cal;
}
推荐阅读
-
c语言:sizeof的使用,其不是函数,是一个操作符关键字,定义一个数组arr,输出arr和&arr的区别
-
ACM日期计算(C++实现):输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天
-
C第三天任务//写一个判断这个日期是本年第几天的程序
-
浙大版《C语言程序设计(第3版)》题目集 习题6-6 使用函数输出一个整数的逆序数 (20分)
-
c语言 输出一个日期是该年的第几天
-
一个正整数加上100之后是完全平方数,再加上100之后还是完全平方数, 编程求出这样的数并输出(在10000以内C语言实现)
-
c语言:sizeof的使用,其不是函数,是一个操作符关键字,定义一个数组arr,输出arr和&arr的区别
-
ACM日期计算(C++实现):输入一个日期,格式如:2010 10 24 ,判断这一天是这一年中的第几天