鱼C论坛

 找回密码
 立即注册
查看: 2901|回复: 5

判断这是一年中的第几天

[复制链接]
发表于 2013-6-3 15:13:28 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
(015第四章 分支结构程序06.mp4)[00.16.37.267].jpg
  1. #include <stdio.h>

  2. void main()
  3. {
  4.         int y,m,d,i,sum;
  5.         scanf("%d%d%d",&y,&m,&d);
  6.         if(y%4==0 )       
  7.         {
  8.                 if(y%100==0)
  9.                 {
  10.                         if(y%400==0)
  11.                                
  12.                                 i=  1;
  13.                         else
  14.                                 i=  0;
  15.                 }
  16.                 else
  17.                         i=  1;       
  18.         }
  19.         else
  20.                 i= 0;
  21.        
  22.         if(i==1)
  23.                 printf("year");
  24.         else
  25.                 printf("NO");       
  26.                 switch(m)
  27.                        
  28.                 case 1:sum=0;break;       
  29.                 case 2:sum=31;break;               
  30.                 case 3:sum=60;break;       
  31.                 case 4:sum=92;break;
  32.                 case 5:sum=122;break;       
  33.                 case 6:sum=153;break;               
  34.                 case 7:sum=183;break;
  35.                 case 8:sum=214;break;
  36.                 case 9:sum=244;break;
  37.                 case 10:sum=274;break;
  38.                 case 11:sum=305;break;
  39.                 case 12:sum=335;break;
  40.                 default:  printf("error");                               
  41.                        
  42.                 printf("%d",sum+d);       
  43.         if(i==1)
  44.                 printf("%d",sum+d);       
  45.         else
  46.                 if(m<3)
  47.                         printf("%d",sum+d);       
  48.                 else
  49.                         printf("%d",sum+d-1);       
  50.        
  51. }
复制代码
哪里错了呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-6-3 17:31:52 | 显示全部楼层
switch 后面是个复合语句 所以要加大括号 { }       你的程序有点小问题,我帮你小改了下、供你参考

#include <stdio.h>

void main()
{
        int y,m,d,sum;   
        printf("plese input y,m,d\n");
        scanf("%d%d%d",&y,&m,&d);
        

        
        switch(m){
                        
                case 1:sum=0;break;        
                case 2:sum=31;break;               
                case 3:sum=60;break;        
                case 4:sum=92;break;
                case 5:sum=122;break;        
                case 6:sum=153;break;               
                case 7:sum=183;break;
                case 8:sum=214;break;
                case 9:sum=244;break;
                case 10:sum=274;break;
                case 11:sum=305;break;
                case 12:sum=335;break;
                default:  printf("error");                                
        }        
      

        if(y % 4 == 0 && y % 100 != 0 || y % 400 == 0)
              printf("sum=%d\n",sum+1+d);
        else
              printf("sum=%d\n",sum+d);

        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-6-3 18:48:13 | 显示全部楼层

谢谢,解决问题了,以后多多照顾,我还是个新手
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-6-3 19:02:17 | 显示全部楼层
277519086 加这个 里面很多大神  我们一般在群里聊、、、
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-25 22:34:01 | 显示全部楼层
     46                    没咋看懂,不过希望以后能和大家在鱼C里一起学习!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2013-7-25 23:42:48 | 显示全部楼层
  1. #include <stdio.h>

  2. bool leap(int i)
  3. {
  4.         if(i%4 == 0 && i%100 != 100 || i%400 == 0)
  5.                 return true;
  6.         else
  7.                 return false;
  8. }

  9. void main()
  10. {
  11.         int y,m,d,i,sum = 0;
  12.                 int a[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  13.                 int        b[12] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
  14.         printf("请输入年月日(用逗号分隔):");
  15.                 scanf("%d,%d,%d",&y,&m,&d);
  16.         if(leap(y))
  17.                 {
  18.                         for(i=0;i<m-1;++i)
  19.                         {
  20.                                 sum += b[i];
  21.                         }
  22.                         sum += d;
  23.                 }
  24.                 else
  25.                 {
  26.                         for(i=0;i<m-1;++i)
  27.                         {
  28.                                 sum += a[i];
  29.                         }
  30.                         sum += d;
  31.                 }
  32.                 printf("%d年%d月%d天是今年的第%d天\n", y, m, d, sum);
  33. }
复制代码
自己做了下 希望 是对的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-10 05:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表