标题:题目:输入某年某月某日,判断这一天是这一年的第几天?
只看楼主
langmanxiang
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-3-24
结帖率:50%
 问题点数:0 回复次数:19 
题目:输入某年某月某日,判断这一天是这一年的第几天?
#include <stdio.h>
int main (void)
{
    int day,year,month,sum,leap;
    printf("please input year,month,day\n");
    scanf("%d,%d,%d",&year,&month,&day);
    switch(month)
    {
    case 1:sum=0;
        break;
    case 2:sum=31;
        break;
    case 3:sum=59;
        break;
    case 4:sum=90;
        break;
    case 5:sum=120;
        break;
    case 6:sum=151;
        break;
    case 7:sum=181;
        break;
    case 8:sum=212;
        break;
    case 9:sum=243;
        break;
    case 10:sum=273;
        break;
    case 11:sum=304;
        break;
    case 12:sum=334;
        break;
    default:
        printf("data error");
        break;
        sum=sum+day;
        if(year%400==0||(year%4==0&&year%100!=0))
            leap=1;
        else
            leap=0;
        if(leap=1&&month>2)
            sum+=1;        
    }
    printf("It is the %dth day of %d year.\n",sum,year);
    return 0;
}
搜索更多相关主题的帖子: include please 
2016-03-24 15:59
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:0 
sum=sum+day;
if(year%400==0||(year%4==0&&year%100!=0))
    leap=1;
else
    leap=0;
if(leap=1&&month>2)  sum+=1;
上面这个要写到switch外面来啊。

   唯实惟新 至诚致志
2016-03-24 16:03
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
把365天做成一張表更好

授人以渔,不授人以鱼。
2016-03-24 16:04
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
得分:0 
與其手動算出這12個魔數,不如直接寫出12個月的天數進行計算,也不需要用switch。

授人以渔,不授人以鱼。
2016-03-24 16:16
langmanxiang
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-3-24
得分:0 
回复 2楼 qq1023569223
     break;
     default:
         printf("data error");
         break;
               
     }
       sum=sum+day;
         if(year%400==0||(year%4==0&&year%100!=0))
             leap=1;
         else
             leap=0;

     if(leap=1&&month>2)
             sum+=1;        
     printf("It is the %dth day of %d year.\n",sum,year);
     return 0;
 }

这样子写么?

[此贴子已经被作者于2016-3-24 16:28编辑过]

2016-03-24 16:23
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
得分:0 
我说的是全部。

   唯实惟新 至诚致志
2016-03-24 16:28
langmanxiang
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-3-24
得分:0 
回复 6楼 qq1023569223
2016-03-24 16:29
langmanxiang
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-3-24
得分:0 
回复 2楼 qq1023569223
新手,求大神指点一二
2016-03-24 16:31
langmanxiang
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2016-3-24
得分:0 
回复 4楼 TonyDeng
有没有更好的方法
2016-03-24 16:31
grmmylbs
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:54
帖 子:1409
专家分:5845
注 册:2016-2-14
得分:0 
if(leap=1&&month>2)
这里写错了
if(leap==1&&month>2)
2016-03-24 16:32



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-462868-1-1.html




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

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