山科计算机2020-1,2班程序设计基础作业5

F

在这里插入图片描述

每列占3个字符,列与列之间还要加个空格,则当数字<10时,相邻3个空格,>10时,相邻2个空格
而且通过看图例,星期六那一列最后是没有空格的,这就要求我们把空格打在数字前面。
而且第一行第一个数字位于的列 前面那些列,每列有4个空格
因为当输入为7的时候,前面没空格
所以分两种情况
且注意一下每一行第一列的特殊情况(因为与前面只有3个空格,而非4个空格)
代码如下:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int fir,j,n,i=1,count=0;
    scanf("%d",&n);
    printf("Sun Mon Tue Wen Thu Fri Sat\n");
 
       if(i==1);
    {
        if(n<=6)
    {
    for(fir=1;fir<=4*n-1;fir++)
        printf(" ");
        for(j=1;j<=7-n;j++)
   {
    count++;
    printf(" %3d",count);
   }
    printf("\n");
    }
    else
    {
        for(j=1;j<=7;j++)
   {
    count++;
    if(j==1)
        printf("%3d",count);
        else
        printf(" %3d",count);
   }
    printf("\n");
    }
 
}
    for(i=2;i<=6;i++)
   {
        for(j=1;j<=7;j++)
       {
        count++;
        if(count>30)
            break;
        if(j==1)
        printf("%3d",count);
        else
        printf(" %3d",count);
       }
       if(i<6)
       printf("\n");
    }
    }
 

可能有点复杂=-=
我太菜了,写了将近一个小时呜呜呜

ps:
确实有点麻烦哈,又花了点时间优化了一下

#include<stdio.h>
int main()
{
    int i,n,j,x,count=1,flag=0;
    scanf("%d",&n);
    printf("Sun Mon Tue Wen Thu Fri Sat\n");
    if(n<7)
    {
        here:
        for(i=1;i<=4*n;i++)
        printf(" ");
        for(x=1;x<=7-n;x++)
        {
          if(x==1)
               printf("%3d",x);
           else
             printf(" %3d",x);
        }
        printf("\n");
    }
    else if(n==7)
    {
        n=0;
        goto here;
    }
for(j=x;j<=30;j++)
{
    if(count==1)
        printf("%3d",j);
    else if(count==7)
      {
        printf("%4d\n",j);
        count=0;
      }
    else
        printf("%4d",j);
    count++;
}
}

感觉还是有点长呜呜呜

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值