注册 登录
编程论坛 C语言论坛

有点急O(∩_∩)O谢谢

陈锦鹏 发布于 2019-11-13 09:20, 3040 次点击
计算2008年8月8日这一天,是该年中的第几天。
12 回复
#2
rjsp2019-11-13 09:34
判断是不是闰年,是闰年的话,有 2月29日 的存在。
你代码呢,哪里不会?
#3
幻紫灵心2019-11-13 12:53
写个12月份的天数数组,累加一下就好啦
#4
bcbbcclbbc2019-11-13 15:04
其实单纯要答案(多少天),百度是最好的捷径
交流程序除外
#5
自学的数学2019-11-13 15:35
程序代码:
#include <stdio.h>
int main()
{
/* 定义需要计算的日期 */

 int year = 2008;

 int month = 8;

 int day = 8;

 int i,feb;

 int sum=0;

 if(year%4==0 &&year%100!=0 ||year%400==0)
         feb=29;
    else
            feb=28;
  for(i=1;i<month;i++)
   {
     switch(i)
        {
         case 1:
         case 3:
         case 5:
         case 7:
         case 8:
         case 10:
         case 12:
               sum+=31;
               break;
         case 2:
              sum+=feb;
              break;
         default:
              sum+=30;
              break;
       }
   }
  sum+=day;
  printf("%d年%d月%d日是该年的第%d天",year,month,day,sum);
  return 0;
}
#6
c鳌白2019-11-13 17:40
兄弟以我的技术只能帮你到这里了!!!!
这个是修改版;
#include<stdio.h>
#include<stdlib.h>

int RunNian(int a)
{
    int c,b;
    c = a;
    if (c %100 == 0)
        {
        b = c / 100;
        if (b%400==0)
           {
            return 0;
             }
        else
        return 1;
        }
    else if(c%4 == 0)
    {
        return 0;
    }
    else
    return 1;
}
int YueFen(int y)
{
    switch (y)
    {
    case 1:printf("\n这年的%d月有31天", y); break;
    case 2:printf("\n这年的%d月有28天", y); break;
    case 3:printf("\n这年的%d月有31天", y); break;
    case 4:printf("\n这年的%d月有30天", y); break;
    case 5:printf("\n这年的%d月有31天", y); break;
    case 6:printf("\n这年的%d月有30天", y); break;
    case 7:printf("\n这年的%d月有31天", y); break;
    case 8:printf("\n这年的%d月有31天", y); break;
    case 9:printf("\n这年的%d月有30天", y); break;
    case 10:printf("\n这年的%d月有31天", y); break;
    case 11:printf("\n这年的%d月有30天", y); break;
    case 12:printf("\n这年的%d月有31天", y); break;
    default: break;
    }
}
int main()
{
    int b,a,y, r;
    int jieguo;
    printf("来!来!来!小伙子输入你要的年份(格式1998):");
    scanf_s("%d",&a);
    printf("接下来输入月份(格式1-12):");
    scanf_s("%d",&y);
    printf("当然你还要输入是第几天(格式1-31):");
    scanf_s("%d", &r);
    b = RunNian(a);
    if (b == 0)
    {
        printf("\n%d年是闰年!", a);
    }
    else if (b == 1)
    {
        printf("\n%d年是平年!", a);
    }
    if (y == 2 && b == 0)
    {
        printf("这年的%d月有29天!", y);
    }
    YueFen(y);
    int i, feb;
    int sum = 0;
    if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0)
    feb = 29;
    else
    feb = 28;
    for (i = 1; i<y; i++)
    {
    switch (i)
    {
    case 1:
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
        sum += 31;
        break;
    case 2:
        sum += feb;
        break;
    default:
        sum += 30;
        break;
    }
}
sum += r;
printf("\n%d年%d月%d日是该年的第%d天\n", a,y ,r, sum);
system("pause");
}

[此贴子已经被作者于2019-11-13 19:52编辑过]

#7
纯蓝之刃2019-11-13 20:34
程序代码:
#include <stdio.h>

int main ()
{
    int year,month,day;
    int i=0,sum=0;

    printf("请输入年:");
    scanf("%d",&year);
    printf("请输入月:");
    scanf("%d",&month);
    printf("请输入日:");
    scanf("%d",&day);

    for(i=1;i<month;i++)
    {
        switch(i)
        {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:sum+=31;break;
            case 4:
            case 6:
            case 9:
            case 11:sum+=30;break;
            case 2:sum+=28;break;
            default:break;
        }
    }

    if(((year%400==0)||(year%100!=0&&year%4==0))&&(month>2))
        sum+=1;
    sum+=day;

    printf("%d年%d月%d日这一天,是该年中的第%d天",year,month,day,sum);

    return 0;
}
#8
陈锦鹏2019-11-14 22:02
回复 7楼 纯蓝之刃
if(((year%400==0)||(year%100!=0&&year%4==0))&&(month>2))能解释下条件语句里面的内容指的是什么吗谢谢实在理解不了了
#9
纯蓝之刃2019-11-14 22:07
回复 8楼 陈锦鹏
((year%400==0)||(year%100!=0&&year%4==0))里面的((year%400==0)为整数年的闰年判断,(year%100!=0&&year%4==0)为普通年的闰年判断。
如果((year%400==0)||(year%100!=0&&year%4==0))==1则为闰年,当月份大于2的时候,计算天数就会比平年多1.
#10
陈锦鹏2019-11-14 22:18
回复 8楼 陈锦鹏
sum+=1;
    sum+=day;还有这里
#11
陈锦鹏2019-11-16 09:34
回复 5楼 自学的数学
for(i=1;i<month;i++) 这里加这个用处是什么呢能详细说说嘛,谢谢大佬
#12
陈锦鹏2019-11-23 08:42
回复 5楼 自学的数学
for(i=1;i<month;i++这个循环的作用是什么
#13
陈锦鹏2019-12-08 21:47
回复 5楼 自学的数学
for(i=1;i<month;i++) 这里加这个用处是什么呢能详细说说嘛,谢谢大佬
1