| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 960 人关注过本帖
标题:这个编程出什么问题了,求助大佬
只看楼主 加入收藏
A529231559
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-12-29
结帖率:0
收藏
已结贴  问题点数:20 回复次数:4 
这个编程出什么问题了,求助大佬
题目是

#include

void main()
{
    int leap,month,day,d,y;
    scanf("%d%d%d",&leap,&month,&day);
    if (leap%4==0)
        if(leap%100==0 && leap%400!=0)
        {y=0;}
        else y=1;
    else y=0;
if (y==0)
 switch(month-1)
    {case 0:d=0;break;
      case 1: d=31;break;
      case 2:d=59;break;
      case 3:d=90;break;
      case 4:d=120;break;
      case 5:d=151;break;
      case 6:d=181;break;
      case 7:d=212;break;
      case 8:d=243;break;
      case 9:d=273;break;
      case 10:d=304;break;
      case 11:d=334;break;}
printf("是第%d天\n",d+day);
if (y==1)
        switch(month-1)
    {case 0:d=0;break;
      case 1: d=31;break;
      case 2:d=60;break;
      case 3:d=91;break;
      case 4:d=121;break;
      case 5:d=152;break;
      case 6:d=182;break;
      case 7:d=213;break;
      case 8:d=244;break;
      case 9:d=274;break;
      case 10:d=305;break;
      case 11:d=335;break;}
        printf("是第%d天\n",d+day);

}
搜索更多相关主题的帖子: 编程 switch case break printf 
2017-12-29 14:28
A529231559
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2017-12-29
收藏
得分:0 
题目是输入某年某月某日,问日期是当年的第几天
2017-12-29 14:29
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9031
专家分:54061
注 册:2011-1-18
收藏
得分:7 
“出什么问题”难道不应该是你告诉别人?!
如果是编译出错,贴出编译器给出的错误信息;
如果是运行结果不符合你的预期,贴出错误用例的输入输出,及你的预期输出
2017-12-29 14:44
虫眼
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:10
帖 子:314
专家分:1121
注 册:2017-11-29
收藏
得分:7 
我猜应该是这样的
程序代码:
#include<stdio.h>

void main()
{
    int leap,month,day,d,y;
    scanf("%d%d%d",&leap,&month,&day);
    if (leap%4==0)
        if(leap%100==0 && leap%400!=0)
        {y=0;}
        else y=1;
    else y=0;
if (y==0){
     switch(month-1)
    {case 0:d=0;break;
      case 1: d=31;break;
      case 2:d=59;break;
      case 3:d=90;break;
      case 4:d=120;break;
      case 5:d=151;break;
      case 6:d=181;break;
      case 7:d=212;break;
      case 8:d=243;break;
      case 9:d=273;break;
      case 10:d=304;break;
      case 11:d=334;break;}
printf("是第%d天\n",d+day);
}

if (y==1){
            switch(month-1)
    {case 0:d=0;break;
      case 1: d=31;break;
      case 2:d=60;break;
      case 3:d=91;break;
      case 4:d=121;break;
      case 5:d=152;break;
      case 6:d=182;break;
      case 7:d=213;break;
      case 8:d=244;break;
      case 9:d=274;break;
      case 10:d=305;break;
      case 11:d=335;break;}
        printf("是第%d天\n",d+day);
}


}

2017-12-31 00:27
书生牛犊
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:星夜征程
等 级:贵宾
威 望:10
帖 子:1101
专家分:5265
注 册:2015-10-27
收藏
得分:7 
感觉我好像见过一段代码,也是计算这个的,他把switch case都省掉了,都压缩到一个表达式里了。
程序代码:
#include<stdio.h>

void main()
{
    int year,month,day;
    scanf("%d%d%d",&year,&month,&day);
    
     switch(month)
    {      case 12: day+=30;
        case 11:day+=31
      case 10:d+=30;
      case 9:day+=31;
      case 8:day+=31;
      case 7:day+=30;
      case 6:day+=31;
      case 5:day+=30;
      case 4:day+=31;
      case 3:day+=28+(year%4==0&&(year%100!=0||(year%100==0&&year%400==0)));
      case 2:day+=31;
      default:break;}
printf("是第%d天\n",day);
}



φ(゜▽゜*)♪
2017-12-31 10:02
快速回复:这个编程出什么问题了,求助大佬
数据加载中...
 
   



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

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