C で 1 か月のカレンダーを作成しようとしています。このコードは機能しますが、一部の入力では間隔がずれています。私はそれを修正する方法がよくわかりません。
また、これより少ないコードで 1 か月のカレンダーを作成する方法があれば、それは素晴らしいことです。テストでは約 1 時間でこれを吐き出さなければならないからです。
ありがとう!
int main() {
int spaces, days_in_month, day_of_week, i;
printf("Please enter the numier of days in the month:\n");
scanf("%d", &days_in_month);
printf("Please enter starting day of the week:\n");
scanf("%d", &day_of_week);
spaces = day_of_week - 1;
printf("Here's your calendar:\n");
for (i=0; i<spaces; i++)
printf(" ");
for (i=1; i<=(7-spaces); i++)
printf(" %d", i);
printf("\n");
if ((i-spaces) >10 && (i-spaces) < 14-spaces)
printf(" ");
for (i=(8-spaces); i<=(10-spaces); i++)
printf(" %d", i);
for (i=(11-spaces); i<=(14-spaces); i++)
printf(" %d", i);
printf("\n");
for (i=(15-spaces); i<=(21-spaces); i++)
printf(" %d", i);
printf("\n");
for (i=(22-spaces); i<=(28-spaces); i++)
printf(" %d", i);
printf("\n");
for (i=(29-spaces); i<=days_in_month; i++)
printf(" %d", i);
return 0;
}