要求输入年月,输出对应的月历表,月历表要契合标准日历,第一行从星期一开始,星期日结束。
2条回答 默认 最新
- 技术专家团-小桥流水 2021-10-27 18:07关注
代码如下,如有帮助,请帮忙采纳一下,谢谢。
效果图是输入2018 5代码:
#include <stdio.h> int main() { int year,mon; int i,j,cnt = 0; int t = 1,k=1; int arr[]={0,31,28,31,30,31,30,31,31,30,31,30,31}; int curYear,curMon,curDay, wk; curYear = 2021; curMon = 10; curDay = 27; wk = 3; scanf("%d %d",&year,&mon); if(curYear >= year) { for(i=mon;i<=12;i++) { if(i==2) { if(year%4==0 && year%100 !=0 || year%400==0) cnt += 29; else cnt += 28; }else cnt += arr[i]; } for(i=year+1;i<curYear;i++) { if(i%4==0 && i%100 !=0 || i%400==0) cnt += 366; else cnt += 365; } for(i=1;i<curMon;i++) { if(i==2) { if(curYear%4==0 && curYear%100 !=0 || curYear%400==0) cnt += 29; else cnt += 28; }else cnt += arr[i]; } cnt += curDay; wk = 7 - (wk+cnt)%7; }else { for(i=curMon+1;i<=12;i++) { if(i==2) { if(curYear%4==0 && curYear%100 !=0 || curYear%400==0) cnt += 29; else cnt += 28; }else cnt += arr[i]; } for(i=curYear+1;i<year;i++) { if(i%4==0 && i%100 !=0 || i%400==0) cnt += 366; else cnt += 365; } for(i=1;i<mon;i++) { if(i==2) { if(year%4==0 && year%100 !=0 || year%400==0) cnt += 29; else cnt += 28; }else cnt += arr[i]; } cnt += curDay; wk = (wk+cnt-1)%7; } printf("一 二 三 四 五 六 日\n"); //int t = 1,k=1; if(year%4==0 && year%100 !=0 || year%400==0) arr[2]= 29; while(t <= arr[mon]) { if(k<wk) { printf(" "); }else { printf("%-3d",t); t++; } if(k%7==0) printf("\n"); k++; } return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 4无用
悬赏问题
- ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
- ¥15 下图接收小电路,谁知道原理
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭