有位报名跟我学编程的同学,问我如何实现:“用户输入任何一个日期,程序能算出是当年的第几天”,我把代码贴出来,供大家参考,报名请咨询Q:3402745814
程序员孙国兵计算机编程快速入门
#include <stdio.h>
//判断输入年份是否是闰年
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;
}