個人名刺:
ブロガー:アルコール依存症ᝰ。
個人プロフィール:ワインに酔いしれ、お酒で未来を切り拓く。
桁:PTAの演習と分析
導入:ブロガーが実践問題を学ぶ方法と注意点をPTAに収録。
序文
1 はじめに
「PTAプログラミング実験補助教育プラットフォーム」は、浙江大学が主導し、杭州百騰教育技術有限公司が管理・運営し、全国の大学の教師が共同で構築したプログラミングコースの補助教育プラットフォームです。現在、全国の 538 の大学が参加し、3,152 人の教師が共同で 66,095 の質の高いトピックを作成し、登録学生数は 136 万人に達し、14 の固定トピック セット (C 言語、JAVA 言語、 Python 言語、データ構造、データベース システム) および中国大学コンピューター コンテストの質問バンク) と 55 の専門コースのトピック セット (コンピューター、エレクトロニクス、文学、外国語、Huawei 認定をカバー)。問題は正誤問題、穴埋め問題、多肢選択問題、多肢選択問題、プログラム穴埋め問題、関数問題、プログラミング問題、主観問題、マルチファイル プログラミングに関する質問と SQL プログラミングに関する質問。
2.利点
- 同時に 200,000 人をオンラインでサポート
- 複数の質問タイプをサポート
- 多彩な判定モードに対応
- 教育の質を包括的に保証する
- 即時質問応答システム
1. トピック
この問題では、年間の日、月、日を計算するプログラムを作成する必要があります。
入力形式:
入力は、"yyyy/mm/dd" (つまり、"年/月/日") の形式で 1 行に日付を指定します。注: うるう年の基準は、その年の年が 4 で割り切れるが 100 で割り切れない、または 400 で割り切れないことです。うるう年の 2 月は 29 日あります。
出力形式:
日付を年間通算日として 1 行に出力します。
入力サンプル 1:
2009/03/02
出力サンプル 1:
61
入力サンプル 2:
2000/03/02
出力サンプル 2:
62
コード長制限 16 KB
時間制限 400 ms
メモリ制限 64 MB
2.コード
import java.util.Scanner;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String time = sc.next();
int x = 1000;
int y = 10;
int z = 10;
int num = 0;
int month = 0;
int day = 0;
for(int i = 0; i < 4; i++){
//2009
num = num + Integer.parseInt(String.valueOf(time.charAt(i))) * x;
x = x / 10;
}
for(int i = 5; i < 7; i++){
//03
month = month + Integer.parseInt(String.valueOf(time.charAt(i))) * y;
y = y / 10;
}
for(int i = 8; i < 10; i++){
//02
day = day + Integer.parseInt(String.valueOf(time.charAt(i))) * z;
z = z / 10;
}
if((num % 4 == 0 && num % 100 != 0) || num % 400 == 0){
switch(month){
case 1:
System.out.println(day);
break;
case 2:
System.out.println(31 + day);
break;
case 3:
System.out.println(31 + 29 + day);
break;
case 4:
System.out.println(31 + 29 + 31 + day);
break;
case 5:
System.out.println(31 + 29 + 31 + 30 + day);
break;
case 6:
System.out.println(31 + 29 + 31 + 30 + 31 + day);
break;
case 7:
System.out.println(31 + 29 + 31 + 30 + 31 + 30 + day);
break;
case 8:
System.out.println(31 + 29 + 31 + 30 + 31 + 30 + 31 + day);
break;
case 9:
System.out.println(31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + day);
break;
case 10:
System.out.println(31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day);
break;
case 11:
System.out.println(31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + day);
break;
case 12:
System.out.println(31 + 29 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day);
break;
}
}else {
switch(month){
case 1:
System.out.println(day);
break;
case 2:
System.out.println(31 + day);
break;
case 3:
System.out.println(31 + 28 + day);
break;
case 4:
System.out.println(31 + 28 + 31 + day);
break;
case 5:
System.out.println(31 + 28 + 31 + 30 + day);
break;
case 6:
System.out.println(31 + 28 + 31 + 30 + 31 + day);
break;
case 7:
System.out.println(31 + 28 + 31 + 30 + 31 + 30 + day);
break;
case 8:
System.out.println(31 + 28 + 31 + 30 + 31 + 30 + 31 + day);
break;
case 9:
System.out.println(31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + day);
break;
case 10:
System.out.println(31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day);
break;
case 11:
System.out.println(31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + day);
break;
case 12:
System.out.println(31 + 28 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + 30 + 31 + day);
break;
}
}
}
}
3. 注意事項と分析
この質問は難しくありません。基礎の理解度をテストします。
うるう年 (2 月)、別のうるう月 (30 日と 31 日) に注意してください。