鱼C论坛

 找回密码
 立即注册
查看: 3062|回复: 6

小甲鱼作业:计算今天是今年的第几天。。。

[复制链接]
发表于 2013-11-16 19:03:51 | 显示全部楼层 |阅读模式
5鱼币

  1. #include <stdio.h>

  2. void main()
  3. {
  4. int month, d, day, year, leap;
  5. printf("please a date: \n");
  6. scanf("%d %d %d",&year, &month, &d);
  7. if ( year % 4 == 0 )
  8. {
  9. if ( year % 100 == 0 )
  10. {
  11. if ( year % 400 == 0 )
  12. {
  13. leap = 1;
  14. }
  15. else leap = 1;
  16. }
  17. }
  18. else leap = 0;
  19. if ( leap )
  20. {
  21. if ( month > 3 )
  22. {
  23. day = 31;
  24. printf("This is %d year %d days\n", year,(month-1)*31+d);pause;
  25. }
  26. else if ( month = 2 )
  27. {
  28. day = 28;
  29. printf("This is %d year %d days\n", year,31+d);pause;
  30. }
  31. }else
  32. switch (month)
  33. {
  34. case 1: printf("This is %d year %d days\n", year,d); break;
  35. case 2: printf("This is %d year %d days\n", year,31+d); break;
  36. case 3: printf("This is %d year %d days\n", year,61+d); break;
  37. case 4: printf("This is %d year %d days\n", year,2*31+30+d); break;
  38. case 5: printf("This is %d year %d days\n", year,2*(30+31)+d); break;
  39. case 6: printf("This is %d year %d days\n", year,3*31+2*30+d); break;
  40. case 7: printf("This is %d year %d days\n", year,3*(30+31)+d); break;
  41. case 8: printf("This is %d year %d days\n", year,4*31+3*30+d); break;
  42. case 9: printf("This is %d year %d days\n", year,5*31+3*30+d); break;
  43. case 10: printf("This is %d year %d days\n", year,5*31+4*30+d); break;
  44. case 11: printf("This is %d year %d days\n", year,6*31+4*30+d); break;
  45. case 12: printf("This is %d year %d days\n", year,6*31+5*30+d); break;
  46. default: printf("input error!!!!!\n");
  47. }

  48. }
复制代码

这是我写的代码,我觉得代码量太多了,关于这个问题能有好的办法么??请大神帮忙。。。这是小甲鱼视频里的题目。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-11-16 19:03:52 | 显示全部楼层
  1. #include<stdio.h>
  2. int main(void) {
  3.     int year,month,day,days,i,d;
  4.         printf("please a date: \n");       
  5.         scanf("%d %d %d",&year, &month, &day);       
  6.     days=0;
  7.     for(i=1;i<month;i++) {
  8.         switch(i) {
  9.                 case 1: case 3: case 5:
  10.                 case 7: case 8: case 10:
  11.                 case 12:d=31;break;
  12.                 case 4: case 6: case 9:
  13.                 case 11:d=30;break;
  14.                 case 2:d=((year%4==0&&year%100!=0||year%400==0)?29:28);
  15.         }
  16.         days+=d;
  17.     }
  18.     printf("%d年%d月%d日是这一年的第%d天。\n",year,month,day,days+day);
  19. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-11-16 21:49:29 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-11-16 22:07:10 | 显示全部楼层
18326638710 发表于 2013-11-16 21:49
哦,谢谢。学习了。。。^_^

E:\test.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-11-17 08:07:58 | 显示全部楼层
//求今天是今年的第几天
#include "stdio.h"
int main(void)
{
        int a[12]={31,28,31,30,31,30,31,31,30,31,30,31},i,yue,ri,sum=0;
        printf("请输入月份:");
        scanf("%d",&yue);
        printf("请输入日数:");
        scanf("%d",&ri);
        for(i=0;i<yue;i++)
                sum=sum+a;
        printf("今天是今年的第%d天",(sum+ri));
        return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-11-17 08:26:01 | 显示全部楼层
#include<stdio.h>
int main(void) {
    int year,month,day,days,i,d;
        printf("please a date: \n");        
        scanf("%d %d %d",&year, &month, &day);        
    days=0;
    for(i=1;i<=month;i++)   //mouth前面应该加个=
        {
        switch(i)
                {
                case 1:
                                case 3:
                                case 5:
                case 7:
                                case 8:
                                case 10:
                case 12:d=31;break;
                case 4:
                                case 6:
                                case 9:
                case 11:d=30;break;
                case 2:d=((year%4==0&&year%100!=0||year%400==0)?29:28);
        }
        days+=d;
    }
    printf("%d年%d月%d日是这一年的第%d天。\n",year,month,day,days+day);
return 0;
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2013-11-17 12:59:06 | 显示全部楼层
不错不错,学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-11 03:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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