傻瓜式的各种函数调用 划水向
整段代码
(代码很长……下面有分段的~)
主要思路
- 将年份、月份和日期分开输入
- 判断月份和日期的输入直到正确
- 计算天数:该月之前的天数加上这个月的日期,若为闰年再+1(如2000年3月14日就是:31+28=59,59+14=73,73+1=74)
- 输出结果
#include<stdio.h>
int fun1();
int fun2(int l);
int fun3(int y);
int fun4(int y2,int m2);
int fun5(int y3,int m3,int d3);
int main()
{
int year,month,day,sum1;
printf("请输入需要判断的日期:\n");
printf("年份:\n");
scanf("%d",&year);
month=fun1();
day=fun4(year,month);
sum1=fun2(month);
if(fun3(year))
{
if(month>=3)
sum1=sum1+1;
}
printf("%d年%d月%d日是这一年的第%d天。\n",year,month,day,sum1+day);
return 0;
}
int fun1() //判断月份直到正确函数;fun1
{
int n;
do
{
printf("月份:\n");
scanf("%d",&n);
if(n<1||n>12)
printf("请输入正确的月份!\n");
}while(n<1||n>12);
return n;
}
int fun2(int l) //得出sum的函数;fun2
{
int sum;
switch(l) //判断并计算这个月之前的天数;
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break; //31+28
case 4