用c语言编写万年历,代码,在VC环境中编译
用C语言编写万年历源程序代码, #include"stdio.h" int judge(int year,int month)/*定义一个函数,把月分为四类(28,29,30,31)*/ { if(month==1||month==3||month==5||month==7||month==8||month==10||month==12) return(1);/*31天的月份,返回值为1*/ else if(month==2) { if(year%4!=0||year%100==0&&year%400!=0) return(2);/*平年的2月份,返回值为2*/ else return(3);/*闰年的2月份,返回值为3*/ } else return(4);/*30天的月份,返回值为4*/ } main() { int year,i,j,a,n,m,k; char ** p; char * week[]={"Sun","Mon","Tue","Wed","Thu","Fri","Sat"}; char*month[]={"January","February","March","April","May","June","July","August","September","October","November","December"}; clrscr(); printf("please inter the year:"); scanf("%d",&year); printf("\n"); printf("the calendar of the year%d.",year); printf("\n"); a=(year+(year-1)/4-(year-1)/100+(year-1)/400)%7; for(i=0;i<4;i++)/*输出前几个月的日历表*/ { n=judge(year,i+1); p=month+i; printf("%s\n",*p); printf("\n"); for(j=0;j<7;j++) {p=week+j; printf("%6s",*p);} printf("\n"); for(k=0;k<a;k++) printf(" ");/*六个空格*/ for(m=1;m<32;m++) { printf("%6d",m); if((a+m)%7==0) printf("\n");/*输出七个字符(空格和数字)换行*/ if(n==1&&m==31) break; else if(n==2&&m==28) break; else if(n==3&&m==29) break; else if(n==4&&m==30) break; } a=(a+m)%7;/*计算出下个月的第一天是星期几*/ printf("\n"); printf("============================================"); printf("\n"); } } 标题中的“用C语言编写万年历,代码,在VC环境中编译”表示我们要讨论的是一个使用C语言实现的万年历程序,它可以在Visual C++(VC)环境下编译运行。这个程序的主要任务是根据用户输入的年份,打印出该年份全年的日历,包括每个月的日期和对应的星期。 描述部分提到了`judge`函数,这是一个关键的辅助函数,用于判断特定月份的天数。根据月份和是否为闰年,函数返回28、29、30或31,分别对应不同月份的天数。主函数`main`负责整个流程的控制,包括用户输入年份、打印年份、打印星期以及逐月输出日历。此外,程序还定义了两个字符串数组`week`和`month`,分别存储一周的中文或英文名称,以及一年中十二个月的中文或英文名称。 在标签中,“C语言”和“万年历”明确了主题,说明我们将关注C语言编程技巧和日期及时间的处理。 部分内容提到了设计任务,包括输入年份、显示星期、处理闰年和月份的输出。设计者还分析了问题并提出了输出格式,显示了实际的日历布局。 在算法中,涉及到的关键知识点包括: 1. 闰年判断:根据四年一闰、百年不闰、四百年再闰的规则。 2. 月份天数判断:通过`judge`函数实现,根据月份和是否为闰年来确定。 3. 循环控制:使用`for`循环遍历年份、月份和日期,控制输出格式。 4. 字符串操作:使用字符串数组存储月份和星期的名称。 5. 函数设计:`judge`函数作为辅助功能,提高代码复用性。 6. 输出格式化:利用`printf`函数控制输出的对齐和换行。 设计使用的计算机环境是VC,这是一个集成开发环境,用于编写、编译和调试C/C++程序。 结论部分可能讨论了程序的功能实现、界面展示以及可能的优化方向。 源代码部分给出了完整的C程序,包括输入验证、计算和输出等各个部分。 这个C语言的万年历程序展示了如何结合基本的编程概念(如函数、循环、条件语句和数组)来解决实际问题,同时体现了对日期和时间处理的理解。在实际应用中,这种程序可以扩展为更复杂的日历应用,例如添加节日提醒、事件记录等功能。
剩余12页未读,继续阅读
- superyeb2012-11-07程序虽小,写的不错!
- 粉丝: 1
- 资源: 10
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助