C:4计算某年是该年的第几天

1问题描述

输入年月日,输出是该年第几天

2分析

a.输入年,判断是不是闰年;
b.该年的第几天=这一年这一月前面所有的月数之和+这个月的天数

3实现

#include <stdio.h>
int judge(int y)
{
    if(y%400==0||(y%4==0&&y%100!=0))
      {
         return 1;
      }
    else
        return  0;
}
int sum(int s,int m,int d)

{ int sum1=0,sum2=0;
 int days1[12];
    int days2[12];
    printf("please input leap year for months:\n");
    for(int i=0;i<12;i++)
    {
        scanf("%d",&days1[i]);
    }
    printf("please input usual year for months;\n");
      for(int i=0;i<12;i++)
    {
        scanf("%d",&days2[i]);
    }
    if(s==1)
    for(int i=0;i<m-1;i++)
       {

        sum1+=days1[i];
        return (sum1+d);
       }
    else
       {
       for(int i=0;i<m-1;i++)
        sum2+=days2[i];
        return (sum2+d);
       }
}
int main()
{
    int year,month,day;

    int result;
    int days_sum;
     printf(" please input computation year and month and day:\n");
     scanf("%d%*c%d%*c%d",&year,&month,&day);
    result=judge(year);
    days_sum=sum(result,month,day);
    printf("this is %d years for %d days\n",year,days_sum);

}

4心得

写代码时尽量往子函数写,主函数越简单越好,输入输出可以写在子函数,不用纠结传参问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值