问题描述
【项目5-当年第几天】
定义一个函数,其参数为年、月、日的值,返回这一天为该年的第几天。要求在main函数中输入年月日,然后调用这个函数求值,并在main函数中输出结果。
程序代码
#include <stdio.h>
/*
*csdn学院--2016级
*目的:让代码见证成长(作为一个初学的菜鸟,如
*大家有发现错误,欢迎指正!)
*文件名称:Myfun114.c
*作者:小臣小仁
*完成日期:2017年2月28日
*/
int days(int y,int m,int d);
int main()
{
int day,month,year;
printf("请输入年月日:");
scanf("%d %d %d",&year,&month,&day);
printf("这时今年的%d天",days(year,month,day));
return 0;
}
int days(int y,int m,int d)
{
int i,Monthsum=d;
if(m>12)
{
printf("请输入正确的月份!!\n");
exit(1);
}
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(i=1;i<m;i++)
{
Monthsum+=a[i];
}
if(a[i]<d)
{
printf("请输入正确的天数!!\n");
exit(1);
}
if(m>2&&((y%4==0&&y%100!=0)||y%400==0))
Monthsum++;
return(Monthsum);
}
输出结果
知识点总结
调用函数,每月份的天数存入数组中,然后对每个月进行累加得到的结果返回实际参数中。
心得体会
作为一个刚刚入门的大学菜鸟,可能程序错误百出,望包涵。