| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1558 人关注过本帖
标题:判断日期是否合法,然后计算日期是星期几
取消只看楼主 加入收藏
王艾文
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2020-5-13
结帖率:0
收藏
已结贴  问题点数:20 回复次数:0 
判断日期是否合法,然后计算日期是星期几
再次给出任意一个年月日(年>1900),现在我们不能只是直接计算,要先判断给出的日期是否合法,对于非法的日期要给出错误提示信息,合法的日期要再计算是星期几。

输入:

    年 月 日

输出:

    0~6。
    星期日用 0 表示,星期一用 1 表示,星期二用 2 表示......星期六用 6 表示。
以下是我写的代码,但是却有一个用例显示错误,啊,有点崩溃啊,大神帮帮我。[code]#include<stdio.h>
int main()
{
    int  y,m,d,W,n=0,s=1;
    scanf("%d%d%d",&y,&m,&d);
    if (y<=1900)
       {
           printf("year is error.\n");
           s=0;
       }
    else{
        switch(m)
        {
            case 1:n=31;break;
            case 2:n=28;break;
            case 3:n=31;break;
            case 4:n=30;break;
            case 5:n=31;break;
            case 6:n=30;break;
            case 7:n=31;break;
            case 8:n=31;break;
            case 9:n=30;break;
            case 10:n=31;break;
            case 11:n=30;break;
            case 12:n=31;break;
            default:{printf("month is error.\n");
                     s=0;}
        }

    if(m=2)
    if((y%4==0&&y%100!=0)||(y%400==0))
        n=29;
    if(s==1&&d>n)
    {
        printf("day is error.\n");
        s=0;
    }}
   if(s==1){ if(m==1||m==2) {
        m+=12;
        y--;
    }
    W=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400)%7+1;
    W+=7;
    W%=7;
      printf("%d\n",W);
      return 0;
}}[code]
图片附件: 游客没有浏览图片的权限,请 登录注册



搜索更多相关主题的帖子: break 计算 case 合法 日期 
2020-05-13 02:41
快速回复:判断日期是否合法,然后计算日期是星期几
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040105 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved