teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

3

コメントミス

2019/04/12 04:44

投稿

kou0179
kou0179

スコア304

answer CHANGED
@@ -68,7 +68,7 @@
68
68
 
69
69
  //次回出力予定の日にち
70
70
  int current_day = 1; //次に1日から出力したい
71
- //次回出力予定の曜日(0~7)が入る
71
+ //次回出力予定の曜日(0~6)が入る
72
72
  int current_dayweek = dayweek; //次に入力された曜日から出力したい
73
73
 
74
74
  //その月の日付と同じ回数回す

2

終了コード入れ忘れ、最後に改行いれました

2019/04/12 04:44

投稿

kou0179
kou0179

スコア304

answer CHANGED
@@ -85,6 +85,9 @@
85
85
  }
86
86
 
87
87
  }while(current_day <= days); //次回の出力予定値が、入力された日数を超えたら終わり
88
+
89
+ printf("\n"); //最後に改行入れといてあげる
90
+ return 0;
88
91
 
89
92
  }
90
93
 

1

追加コード

2019/04/12 04:40

投稿

kou0179
kou0179

スコア304

answer CHANGED
@@ -42,4 +42,50 @@
42
42
  return 0;
43
43
  }
44
44
 
45
+ ```
46
+
47
+ # 追記
48
+ コード分かりやすくして、スペースにしました。
49
+ コメントで解説入れたので参考にしてください。
50
+
51
+ ```C
52
+ #include <stdio.h>
53
+ int main(void){
54
+ // Your code here!
55
+ int dayweek,days;
56
+ printf("カレンダーを表示させます。\n表示させたい月は何曜日から始まりますか?数字を入れてください\n");
57
+ printf("0:日,1:月,2:火,3:水,4:木,5:金,6:土\n");
58
+ scanf("%d",&dayweek);
59
+ printf("何日間ある月ですか?\n");
60
+ scanf("%d",&days);
61
+ printf("日 月 火 水 木 金 土 \n");
62
+
63
+ //最初に一週間目の日付が当てはまらない曜日に空白を作る
64
+ int i;
65
+ for(i=0; i<dayweek; i++){
66
+ printf(" ");
67
+ }
68
+
69
+ //次回出力予定の日にち
70
+ int current_day = 1; //次に1日から出力したい
71
+ //次回出力予定の曜日(0~7)が入る
72
+ int current_dayweek = dayweek; //次に入力された曜日から出力したい
73
+
74
+ //その月の日付と同じ回数回す
75
+ do {
76
+ printf("%2d ",current_day);
77
+
78
+ current_day++; //次回出力予定の日数をインクリメント
79
+ current_dayweek++; //次回出力予定の曜日をインクリメント
80
+
81
+ //次回出力予定の曜日が 土+1 (カレンダーよりも右にはみ出た)場合の処理
82
+ if(current_dayweek > 6){
83
+ printf("\n");//改行を流して
84
+ current_dayweek = 0; //日曜日に戻す
85
+ }
86
+
87
+ }while(current_day <= days); //次回の出力予定値が、入力された日数を超えたら終わり
88
+
89
+ }
90
+
45
91
  ```