返回列表 發帖

609 閏年

1. 題目說明:
請依下列題意進行作答,使輸出值符合題意要求。

2. 設計說明:
請撰寫一程式,讓使用者輸入三個正整數,分別為西元年、月、日,請計算此日期為當年的第幾天,需注意閏年;若輸入的日期有誤,請輸出「error」。

閏年:
西元年份除以4不可整除,為平年。
西元年份除以4可整除,且除以100不可整除,為閏年。
西元年份除以100可整除,且除以400不可整除,為平年。
西元年份除以400可整除,為閏年。

提示:若使用 Java 語言答題,請以「JP」開頭命名包含 main 靜態方法的 class,評測系統才能正確評分。

3. 輸入輸出:
輸入說明
三個正整數,分別為西元年、月、日

輸出說明
此日期為當年的第幾天

範例輸入1
2012 3 7
範例輸出1
67

範例輸入2
2018 6 31
範例輸出2
error

本帖隱藏的內容需要回復才可以瀏覽

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int main()
  4. {
  5.     int y,m,d,sum=0;
  6.     int n[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  7.     cin>>y>>m>>d;
  8.     if(y%4==0 && y%100!=0 || y%400==0)
  9.         n[2]=29;
  10.     if(d<=n[m])
  11.     {
  12.         for(int i=1;i<=m-1;i++)
  13.             sum+=n[i];
  14.         sum+=d;
  15.         cout<<sum;
  16.     }
  17.     else
  18.         cout<<"error";
  19.     return 0;
  20. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int y,m,d,sum=0;
  4. int n[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  5. int main()
  6. {
  7.     cin>>y>>m>>d;
  8.     if(y%4==0  &&  y%100!=0  ||  y%400==0)
  9.          n[2]=29;
  10.     if(d<=n[m])
  11.     {
  12.        for(int i=1;i<=m-1;i++)
  13.             sum+=n[i];
  14.        sum+=d;
  15.        cout<<sum;
  16.     }
  17.     else
  18.         cout<<"error";
  19.     return 0;
  20. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int y,m,d,sum=0;
  4. int n[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  5. int main()
  6. {
  7.     cin>>y>>m>>d;
  8.     if(y%4==0&&y%100!=0||y%400==0)
  9.          n[2]=29;
  10.     if(d<=n[m])
  11.     {
  12.        for(int i=1;i<=m-1;i++)
  13.        sum+=n[i];
  14.        sum+=d;
  15.        cout<<sum;
  16.     }
  17.     else
  18.         cout<<"error";
  19.     return 0;
  20. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int y, m, d, sum=0;
  4. int n[]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
  5. int main()
  6. {
  7.     cin>>y>>m>>d;
  8.     if(y%4==0 && y%100!=0 || y%400==0)
  9.         n[2]=29;
  10.     if(d<=n[m])
  11.     {
  12.         for(int i=1; i<=m-1; i++)
  13.             sum+=n[i];
  14.         sum+=d;
  15.         cout<<sum;
  16.     }else
  17.         cout<<"error";
  18.     return 0;
  19. }
複製代碼

TOP

本帖最後由 盧禹丞 於 2024-5-25 20:13 編輯
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int y,m,d,sum=0;
  4. int n[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  5. int main()
  6. {
  7.     cin>>y>>m>>d;
  8.     if(y%4==0 && y%100!=0 || y%400==0)
  9.         n[2]=29;
  10.     if(d<=n[m])
  11.     {
  12.         for(int i=1;i<=m-1;i++)
  13.             sum+=n[i];
  14.         sum+=d;
  15.         cout<<sum;
  16.     }else
  17.         cout<<"error";
  18.     return 0;
  19. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int y,m,d,sum=0;
  4. int n[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
  5. int main()
  6. {
  7.     cin>>y>>m>>d;
  8.     if(y%4==0  &&  y%100!=0  ||  y%400==0)
  9.          n[2]=29;
  10.     if(d<=n[m])
  11.     {
  12.        for(int i=1;i<=m-1;i++)
  13.             sum+=n[i];
  14.        sum+=d;
  15.        cout<<sum;
  16.     }
  17.     else
  18.         cout<<"error";
  19.     return 0;
  20. }
複製代碼

TOP

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. int y,m,d,sum=0;
  4. int n[]={0,31,28,31,30,31,30,31,30,31,30,31};
  5. int main()
  6. {
  7.     cin>>y>>m>>d;
  8.     if(y%4==0 && y%100!==0 || y%400==0)
  9.         n[2]=29;
  10.     if(d<=n[m])
  11.     {
  12.         for(int i=1; i<m-1; i++)
  13.             sum+=n[i];
  14.         sum+=d;
  15.         cout<<sum;
  16.     }
  17.     else
  18.         cout<<"error";
  19.     return 0;
  20. }
複製代碼

TOP

返回列表