问题点:1,输出格式问题,没法对齐;

突破点:输出格式控制,左对齐或右对齐;

#include <stdio.h>
main()
{
    int n,i;
    scanf("%d",&n);
    printf("Sun Mon Tue Wen Thu Fri Sat\n");
    if (n==7) n=0;            //注意看n和星期实际的位次,星期一已经在第二个方块了,也就是n小于实际的位次1;所以星期n=7时候,实际已经8了,8就是从星期天开始,
    for(i=1;i<=n+30;i++)   //也就是从第一个实际位次开始,那么后来的n+30就会矛盾,事实是应该第一行数字全满;所以n=7<=>n=0;
     {
       if(i<=n)                //i是输出位,可以理解成实际位,实际位小于输入位代表是空格,因为是1号开始;
         printf("   ");
        else
          printf("%3d",i-n);    
        if (i%7!=0)                 //这是用来判断是否换行的,并且输出位都是空格一个空格的,至于对齐的字母那个方块是输出格式控制对齐方式决定的
            putchar(' ');
        else
            putchar('\n');
     }
     return 0;
  
}