题目:打印日历,用户指定该月的天数和该月起始日为周几 (规定一周的第一天为周日)
代码如下:
#include<stdio.h> //打印日历低阶版
void Print_Date(int day,int week){
if(week<0||week>6||day<1||day>31){
printf("输入有误!\n"); //规定0-周日 6-周六
return;
}
char strfill[]={" "}; //字符串填充变量(三个空格刚好合适)
int i=0,k=0;
printf(" 日 一 二 三 四 五 六 \n");
for(i=0;i<week;i++){
printf("%s",strfill);
k++; //控制一行输出七个
}
for(i=1;i<=day;i++){
printf("%3d",i);
k++;
if(k%7==0){
printf("\n");
}
}
}
int main(){
int day=0,week=0;
printf("请输入指定该月的天数和该月起始日为周几:(day week)\n");
scanf("%d %d",&day,&week);
Print_Date(day,week);
return 0;
}
运行结果如下:
ps:已在代码区用注释解释不容易理解的地方。(大家最好自行理解再敲代码,切勿直接照抄!)
加油!!😊