c语言可以检验日期的函数 c语言判断日期是一年中的第几天
用C语言日期判断
typedef struct _data{ int year; int month; int day; } dataint isLeapYear(int year){ if((year%4==0 year%100 !=0) || (year%100==0 year%400 !=0)){ return 1; } return 0; } int countdays(data input){ int days[] = { 31,28,31,30,31,30,31,31,30,31,30,31} ; //每个月的天数 int count = 0; for(int i = 0; i input.month-1; i++){ count += days[i]; } count += input.day; return count; } int main(){ data input; scanf("%d,%d,%d", input.year, input.month, input.day,); if(isLeapYear(input.year)){ printf("it is a leap year"); } else{ printf("it is not a leap year"); } printf("%d", countdays(input)); } 输出到文件就自己写吧
C语言验证日期格式是否正确
#includestdio.h
typedef struct { int y,m,d; } Date;
int mon[13]={ 0,31,28,31,30,31,30,31,31,30,31,30,31} ;
int checkDate(Date date)
{ mon[2]=28+(date.y%4==0date.y%100||date.y%400==0);
return date.y0date.m0date.d0date.m13date.d=mon[date.m];
}
int main()
{ Date date;
scanf("%d%*c%d%*c%d",date.y,date.m,date.d);
printf("%s",(checkDate(date)?"OK":"Error"));
return 0;
}
c语言:从键盘上输入一个日期,判断输入的日期是否正确
定义一个12元素的int型数组存放1月份至12月份每个月的天数;
根据输入的年份判断是否为闰年,对上述数组中2月份的天数进行调整;
判断年份大于0、月份大于0小于13、日期大于0小于等于月份对应的天数为正确输入,否则为错误输入。
代码如下:
#include "stdio.h"
int main(int argc,char *argv[]){
int y,m,d,md[12]={ 31,28,31,30,31,30,31,31,30,31,30,31} ; //md是每月天数数组
printf("Please enter the year, month, day(separated by ' ')...\n");
scanf("%d%d%d",y,m,d);
md[1] = y%4==0 y%100 || y%400==0 ? 29 : 28; //闰年调整
if(y0 m0 m13 d0 d=md[m-1])//判断输入是否正确
printf("Your input is correct!\n"); //正确输出
else
printf("Error...\n"); //错误输出
return 0;
}
运行样例如下:
c语言判断日期
首先这个函数的输入是什么?
(年,月,日)
当不考虑闰年时,只须(月,日)
然后先考查月的取值范围(1~12)的整数
此时可以进行第一步判断
接下来,你要作的很简单
比如你可以用个switch来作这些事情
比如我来作:
switch(月)
case 1,3,5,7,8,10,12:
return (日 0 日 = 31) ?true:false; break;
case 4,6,9,11:
return (日 0 日 = 30) ?true:false; break;
case 2:
return (日 0 日 = 28) ?true:false; break;
defalts:
...............
另外若加上闰年的情况也不会很复杂,只是须要以年来判断是不是闰年,然后把那个28改成一个返回函数即可
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: c语言可以检验日期的函数 c语言判断日期是一年中的第几天
本文地址: https://pptw.com/jishu/4576.html