SunShine⊙ 2021-12-30 01:15 采纳率: 70%
浏览 30
已结题

这是打年历的,我可以输出12个月的天数,但是求怎样讲每月1号前面的空格打出来?(语言-c++)

#include <stdio.h>
main()
{ int a[6];
int yue,year,day;
printf("输入年份");
scanf("%d",&year);
printf("%d\n",year);
yue=0;
while(yue++<12)
{ printf("%d月",yue);
switch(yue)
{ case 4 :case 6 :case 9 :case 11:
day=30;break;
case 1: case 3:case 5:case 7:case 8:case 10: case 12:
day=31;break;
case 2:
if(year%4==0&&year%400==0!=year%100==0)
day=29;
else day=28;break;}
printf("\n");
int i=0,k,j;
for(k=0;k<7;k++)
printf("%3d",k);
printf("\n");
{for (i=1;i<=day;i++)
if(i%7==0)
{ printf("%3d",i)
printf("\n");}
else printf("%3d", i);
}
printf("\n");
}}

  • 写回答

1条回答 默认 最新

  • 书山客 2021-12-30 08:50
    关注
    //打印完当月后会记录最后一行已占用长度,在下个月提前空出相应的空位
    #include <stdio.h>
    int main()
    {
        int yue, year, day;
        printf("输入年份");
        scanf("%d", &year);
        printf("%d\n", year);
        yue = 0;
        int num = 0;
        while (yue++ < 12)
        {
            printf("%d月", yue);
            switch (yue)
            {
            case 4:case 6:case 9:case 11:
                day = 30; break;
            case 1: case 3:case 5:case 7:case 8:case 10: case 12:
                day = 31; break;
            case 2:
                if (year % 4 == 0 && year % 400 == 0 != year % 100 == 0)
                    day = 29;
                else day = 28; break;
            }
            printf("\n");
            int i = 0, k, j;
            for (k = 0; k < 7; k++)
                printf("%3d", k);
            printf("\n");
            for (i = 0; i < num; i++)
            {
                printf("%3c", ' ');
            }
            for (i = 1; i <= day; i++)
                if ((i+num) % 7 == 0)
                {
                    printf("%3d", i);
                    printf("\n");
                }
                else printf("%3d", i);
            num = (day + num) % 7;
            printf("\n");
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月7日
  • 已采纳回答 12月30日
  • 创建了问题 12月30日

悬赏问题

  • ¥15 请问为什么我配置IPsec后PC1 ping不通 PC2,抓包出来数据包也并没有被加密
  • ¥200 求博主教我搞定neo4j简易问答系统,有偿
  • ¥15 nginx的使用与作用
  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥15 一个矿井排水监控系统的plc梯形图,求各程序段都是什么意思
  • ¥15 ensp路由器启动不了一直报#
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了