您的位置:首页 > 编程语言 > C语言/C++

提高项目5-当年第几天

2016-06-21 11:11 295 查看
任务和代码:定义一个函数,其参数为年、月、日的值,返回这一天为该年的第几天。要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结果

/*
文件名:main.c
作者:小风景
完成日期:2016.6.21
问题描述:定义一个函数,其参数为年、月、日的值,返回这一天为该年的第几天。要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结果
程序输出:第几天
*/

#include<stdio.h>

int days(int y, int m, int d);

int main()
{
int year, month, day;
printf("输入年 月 日: ");
scanf("%d %d %d", &year, &month, &day);
printf("这是该年的第 %d 天\n", days(year, month, day));
return 0;
}

int days(int y, int m, int d)
{
int sum = d;
int i = 0;
for(i = 1;i < m;i++)
{
switch(i)
{
case 2:
if((y % 4 == 0 && y % 100 != 0 ) || (y % 400 == 0))
{
sum += 29;
}
else
{
sum += 28;
}
break;
case 4:
case 6:
case 9:
case 11:
sum += 30;
break;
default:
sum += 31;
break;
}

}
return sum;
}


程序运行结果:







总结:在程序中需要注意对闰年的处理,并且对于月份处理应该-1 ,即一月份为初始,十二月结束,所以for循环从1 开始,到m -1 结束。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C语言 代码 函数