有位报名跟我学编程的同学,问我如何实现:“用户输入任何一个日期,程序能算出是当年的第几天”,我把代码贴出来,供大家参考,报名请咨询Q:3402745814
#include
//判断输入年份是否是闰年
bool isRunNian(int year)
{
int a = year % 4;
int b = year % 400;
int c = year % 100;
bool ok = false;
if(a==0 && c!=0) // 能被4整除并且不被100整除,是闰年
{
ok = true;
}
if(b==0) //能被400整除,是闰年
{
ok = true;
}
return ok;
}
int main()
{
int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //每个月份的天数
int y = 0;
int m = 0;
int d = 0;
printf("输入年月日:\n");
scanf_s("%d %d %d", &y, &m, &d);
if(y<0)
{
printf("年输入错误\n");
getchar();
getchar();
return 0;
}
if(m<0 || m>12)
{
printf("月输入错误\n");
getchar();
getchar();
return 0;
}
bool ok = isRunNian(y);
if(ok)
{
days[1] = 29; //闰年,2月份是29天
}
if(d<0 || d>days[m-1])
{
printf("日输入错误\n");
getchar();
getchar();
return 0;
}
int total = 0;
for(int i=0; i { total += days[i]; } total += d; printf("是一年中的第:%d 天\n", total); getchar(); getchar(); return 1; }
閱讀更多 程序員孫國兵 的文章