C语言输出格式工整的日历

您所在的位置:网站首页 c语言闰年代码 C语言输出格式工整的日历

C语言输出格式工整的日历

2023-10-05 06:35| 来源: 网络整理| 查看: 265

本篇博客有更新!!!更新后效果图如下:

文章末尾的完整代码如不能在Dev-C++上完好运行,出现如下问题:

 E:\Dev-Cpp\源代码\万年历.c [Error] 'for' loop initial declarations are only allowed in C99 or C11 mode

原因及解决办法:http://bbs.bccn.net/thread-436527-1-1.html

 

回归正题:更新内容为第三问中第2小问的代码实现(超详细注释)

最近帮朋友做一些C语言的练习题,期间遇到了个比较有意思的题目,意在考察模块化程序设计,大致要求如下:

电子万年历:

1、编写函数int isleapyear(int year);判某年是否为闰年,如该年为闰年返回1,否则返回0。编写主函数输入年份给出该年是否为闰年。

2、编写函数int dayofmonth(int year ,int month);计算某年某月有几天。主函数中输入任意的年和月,给出此年该月有几天。

3、编写万年历。请利用上述1、2已编写的函数和下边已提供的函数来完成:

(1)输入年打印出此年的日历。 

(2)输入年和月打印给出此年该月的日历。

1 /*参考代码*/ 2 int firstdayofyear(int year) /*求某年的第一天是星期几*/ 3 4 { int i; 5 6 long n,days=year; 7 8 days=days*365; /* printf("\n%ld",days);*/ 9 10 for(i=1;i 0 ? sl+1 : 0; 16 sr = sr > 0 ? sr+1 : 0; 17 //该循环每次输出具体的两个月份的日历,如1/7月,2/8月…… 18 while(m < sl+daysl || n < sr+daysr) { 19 //每次循环都使用一个数组记录要输出的内容,这个大小只是为了输出美观设置的 20 //初始化值为0 21 int out[40]= {0}; 22 //-1代表要输出表示边界的"|"符号 23 out[1] = -1; 24 out[39] = -1; 25 //输出每一行的循环 ,p,q记录应输出的位置 26 for(int p=5, q=24; p 0 ? sl+1 : 0; 108 sr = sr > 0 ? sr+1 : 0; 109 //该循环每次输出具体的两个月份的日历,如1/7月,2/8月…… 110 while(m < sl+daysl || n < sr+daysr) { 111 //每次循环都使用一个数组记录要输出的内容,这个大小只是为了输出美观设置的 112 //初始化值为0 113 int out[40]= {0}; 114 //-1代表要输出表示边界的"|"符号 115 out[1] = -1; 116 out[39] = -1; 117 //输出每一行的循环 ,p,q记录应输出的位置 118 for(int p=5, q=24; p 0 ? start+1 : 0; 158 printf("\nSUN MON TUE WEN THU FRI SAT\n"); 159 for(i=1; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3