最近在学C语言,看到这样一个题目:
题目:编写程序,要求显示单月的日历,用户说明这个月的天数和本月起始日是星期几,达到下面的输出效果。
代码:下面是我写的代码,改了好几回,总感觉哪里思路不对,有点偏。
大佬们谁帮我看看怎么写更好一些呢?
?PS:编译环境是VSC + GCC
int days, bgd, i;
printf("Enter the number of days in month: ");
scanf("%d", &days);
printf("Enter starting day of the week (1=Sun, 7=Sat): ");
scanf("%d", &bgd);
switch(bgd){
case 1: printf("%4d", 1); break;
case 2: printf("%8d", 1); break;
case 3: printf("%12d", 1); break;
case 4: printf("%16d", 1); break;
case 5: printf("%20d", 1); break;
case 6: printf("%24d", 1); break;
case 7: printf("%28d\n", 1); break;
}
for (i = 2; i < days + 1; ++i) {
printf("%4d", i);
if((i + bgd - 1) % 7 == 0)
printf("\n");
}
|