杀死庸俗 发表于 2022-2-27 17:48:39

s1e17

本帖最后由 杀死庸俗 于 2022-2-27 18:04 编辑

为什么我这个算出来答案和小甲鱼的不同呀,不知道哪里有问题。小甲鱼算出来是10174天而我却是10195天
#include<stdio.h>
int main()
{
      int day[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
      int year1, year2;
      int month1, month2;
      int day1, day2;
      long long int count=0;
      
      printf("请输入你的生日:");
      scanf("%d %d %d", &year1, &month1, &day1);
      
      printf("请输入现在日期:");
      scanf("%d %d %d", &year2, &month2, &day2);
      
      for(year1; year1<=year2; year1++)
      {
                if(year1%400==0||year1%4==0&&year1%100!=0)
                {
                        day=29;
                }
                for(month1; month1<=12; month1++)
                {
                        for(day1; day1<=day; day1++)
                        {
                              if(year1==year2&&month1==month2&&day1==day2)
                              {
                                        goto life;
                              }
                              count++;
                        }
                        day1=1;
                }
                month1=1;
      }
life: printf("共生活了%d天\n", count);

      return 0;
}
这是我的代码

杀死庸俗 发表于 2022-2-27 18:01:57

知道哪里有问题了,没有else {day【1】=28};

大马强 发表于 2022-2-27 18:08:08

你这光记得闰年是 29 天,不记得平年 28天了
#include<stdio.h>
int main()
{
      int day[]={31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
      int year1, year2;
      int month1, month2;
      int day1, day2;
      long long int count=0;
      
      printf("请输入你的生日:");
      scanf("%d %d %d", &year1, &month1, &day1);
      
      printf("请输入现在日期:");
      scanf("%d %d %d", &year2, &month2, &day2);
      
      for(year1; year1<=year2; year1++)
      {
                if(year1%400==0||year1%4==0&&year1%100!=0)
                {
                        day=29;
                }
                else
                                        day=28;   // 记得换回来
                for(month1; month1<=12; month1++)
                {
                        for(day1; day1<=day; day1++)
                        {
                              if(year1==year2&&month1==month2&&day1==day2)
                              {
                                        goto life;
                              }
                              count++;
                        }
                        day1=1;
                }
                month1=1;
      }
life: printf("共生活了%d天\n", count);

      return 0;
}

大马强 发表于 2022-2-27 18:09:05

大马强 发表于 2022-2-27 18:08
你这光记得闰年是 29 天,不记得平年 28天了

妈耶,我刚答emmm'

杀死庸俗 发表于 2022-3-5 12:38:04

大马强 发表于 2022-2-27 18:09
妈耶,我刚答emmm'

{:5_110:}
页: [1]
查看完整版本: s1e17