刚刚入门C语言,想问一下这样的应该怎么样弄?

img


因为是刚刚入门,这个题目就有些不太了解,想跟各位讨论能不能给我解答一下

我的思路是:
1、首先从输入获取两个参数,第一个数每月的天数,第二个是每个月从星期几开始,这个可以用scanf()函数获取

2、打印日历,首先打印每个月开头的几个空格,然后打印日历,打印日历的时候,每隔七个就换一行即可。
代码如下:

#include <stdio.h>

int main(void){
    
    int days; //存储一月有多少天,即输入的第一个输入的数 
    int firstDay; //存储每月第一天是星期几,即输入的第二个参数 
    
    //存输入获取两个参数 
    scanf("%d%d",&days,&firstDay);
     
    int i;
    
    //打印日历,每月开头的一行的空格,从星期一开始,一直到输入的星期几之前结束输出空格
    //打印每月开头的空格后,等待后面输出每月日历 
    for(i=1;i<firstDay;i++){
        printf(" \t");
    }
    
    //从每月1号开始,到每月最后一天结束打印 
    for(i=1;i<=days;i++){
        
        //打印每月每天的日历 
        printf("%d\t",i);
        
        //如果当前的天数+前面输入的空格数(空格数即firstDay-1) 对7求余等于0,说明打印了七个输入(包含打印的空格数),就打印一个换行 ,
        //代表一周结束,以便后面开始换行打印下一周的日历 
        if((i+firstDay-1)%7==0){
            printf("\n");
        }
        
    }
} 

img