求求大家指点指点我吧——大一C语言题:编写一段程序,计算某个日期为这一年的第几天及第几周的星期几。(使用软件Dev-C++)如下是我代码,感觉还挺对,至少编译时没错误没警告,但是运行时出不来结果啊啊啊

int days(int month,int year)//定义副分支(month为月份) 
{
    switch(month)
    {
        case 1:
            return 31;//1月返回值为31天 
        case 2:
            if(year%400==0)//能被400整除为闰年 
            return 29;//闰年2月为29天 
            else if(year%100!=0&&year%4==0)//不能被100整除但能被4整除的也为闰年 
            return 29;
            else//其它为平年
            return 28;//平年是28天 
        case 3:
            return 31;
        case 4:
            return 30;
        case 5:
            return 31;
        case 6:
            return 30;
        case 7:
            return 31;
        case 8:
            return 31;
        case 9:
            return 30;
        case 10:
            return 31;
        case 11:
            return 30;
        case 12:
            return 31;    
    }
}

int main()

    int days(int month,int year);
    int s,u;//定义输入日期是该年的第s天,且当日是星期u(s,u均为整形数值) 
    int year,month,week,day;//定义输入的年份year,月份month,天数day和输出的该日期第week周
    s=0;
    int i;
    scanf("%d.%d.%d",&year,&month,&day);
    for(i=1;i<=month-1;i++)
    {
        s+=days(month,year);
    }
    s+=day;
    u=(s%7);//定义u为该年内总天数除以7的余数 
    switch(u)//选择语句根据余数对应返回值即为星期几 
    {
        case 0:
            return 5;
        case 1:
            return 6;
        case 2:
            return 7;    
        case 3:
            return 1;
        case 4:
            return 2;
        case 5:
            return 3;
        case 6:
            return 4;
    }
    week=(s/7)+1;//赋值week为该年内总天数除以7的整形+1 
    printf("%d.%d.%d",s,week,u);//输出某个日期为这一年的第几天及第几周的星期几
    return 0;//函数返回值为0 
}

*PS:下方为软件内的截图,方便大佬查看,希望能指正错误。↓↓↓↓↓↓↓↓↓↓↓↓↓

 

 

希望大佬们能救救孩子,这是c语言专业课,相信应该难不住在座的各位!!!实在没人问了,老师那边也问过了,说的也有点笼统,没办法,问问题的人太多,老师也忙不过来,听说这里发文可以有所收获,就来碰碰运气,希望能解决问题,谢谢!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值