预览加载中,请您耐心等待几秒...
1/8
2/8
3/8
4/8
5/8
6/8
7/8
8/8

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C 语 言 课 程 设 计 计算机科学与技术专业****班 学号:****** 姓名:****** 目录 序言…………………………………1 说明……………………………………2 流程图………………………………3 源代码………………………………4 小结……………………………………5 序言 1.经过上一个学期对《C程序设计》的学习,同学们都认为真正的学到了有用知识,可能有一些人学的不够理想,但无论如何,这些知识都为我们的下一步学习打下了坚实的基础。做这么一个课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。 本程序是一个万年历程序,可以输出公元一年一月以后任意月份的天数及每一天是星期几,只要在运行程序时按照要求输入年份再输入和月份,程序就会把这一月份的日历显示在屏幕上,使人一目了然。该程序能与目前天文学研究中所采用的各种日历程序所能计算的范围相一致。 2.课程设计题目:万年历 要求:输入年份和月份,自动输出该月的日历,清楚的显示每一天是星期几。 指导老师:翟海霞 说明 算法分析说明: 1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为355。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。 2.输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。 3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。 要用到的函数和语句 1.<stdio.h>,<conio.h>,<math.h>/*头文件*/ 2.main()/*主函数*/ 3.printf(), 4.scanf() 5.textbackground(),textcolor()/*定义背景和字体颜色*/ 6.if语句 7.for语句 8.printstar()/*调用函数*/ 9.intday_year()/*定义函数*/ 10.goto/*循环语句*/ 流程图 图一 输入的年份判断从定义年到输入的年份中 每个年份是否为闰年 是否 每年为366天每年为365天返回该年的天数图二 输入的年月判断输入年是否为定义年 是否总天数S=1总天数S为定义年到输入年的总天数把S加上该年一月到输入月份的天数,再加1判断输入的月份是否 为闰年中的月份 是否该月是否大于二月 是否把S加上该年一月 到输入月份的天数把S再加上该把S加上该年年一月到输入一月到输入月 的月份的天数份的天数 再加1总天数为S判断S的最后一天为星期几从这一天起依次输出输入月份的天数直到该月底为止 源代码 #include<conio.h> #include<stdio.h> #include<math.h> main() {longs=1; inta[14]={0,0,31,28,31,30,31,30,31,31,30,31,30,31}; inty,m,p,i,j,k,n,leap; intday_year(inty); textbackground(RED); textcolor(YELLOW); clrscr(); printf("pleaseinputtheyear:"); scanf("%d",&y); printf("\n"); printf("pleaseinputthemonth:"); scanf("%d",&m); printf("\n"); textbackground(3); clrscr(); printf("\tYear:%dMonth:%d\n",y,m); printf("\n"); if(y==1) s=1; for(i=1;i<y;i++) s=s+day_year(y-1); if(y%4==0&&y%100!=0||y%400==0) leap=1; elseleap=0; for(i=0;i<=m;i++) s=s+a[i]; if(leap==1&&m>2) s=s+1; elses=s+0; p=s%7+3; printf("SunMonTueWedThuFriSat\n"); printstar(); if(p<=7) n=4