




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言课程设计报告书设计人 :查波学号 :201201466院系 :电信学院班级 :电气11203指导老师 :杜红一设计要求1.能够显示星期。2.能够显示年月日。二设计目的1.通过本项课程设计,可以培养独立思考、综合运用所学有关相应知识的能力,能更好的巩固C语言程序设计课程学习的内容,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!更加了解了c语言的好处和其可用性!同时增加了同学之间的团队合作精神!更加也体会到以后在工作中团队合作的重要性和必要性!2.通过C语言课程设计,使学生了解高级程序设计语言的结构,掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级语言程序设计能力。为后续各门计算机课程的学习和毕业设计打下坚实基础。三设计思想1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为355。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。2 .输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。3. 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。四 要用到的函数和语句1. /*头文件*/2.main() /*主函数*/3.printf(),4.scanf()5.if 语句6.for 语句7. IsLeapYear(int) /*定义函数*/流程图 输入的年份 判断从定义年到输入的年份中每个年份是否为闰年是 否每年为366天 每年为365天 返回该年的天数 输入的年月 判断输入年是否为定义年 是 否总天数=year_days总天数为定义年前到输入年的总天数求出定义年第一天星期几判断输入的月份是否为闰年中的月份是 否该月是否是二月 是 否求该月的万年历依次执行加1求该月的万年 执行下步历总天数判断总天数的最后一天为星期几从这一天起依次输出输入月份的天数直到该月底为止五 程序运行结果六源代码#include int IsLeapYear(int); main()int i;int day;int year;int temp;int temp_i;long int Year_days = 0; /输入的年份之前的所有年的天数之和int Year_Start = 1; /当前年份int Per_Year_Days;int month_day=31,28,31,30,31,30,31,31,30,31,30,31,29; /第n月的天数printf(请输入年份: );scanf(%d,&year); while(Year_Start year) /求输入的年份之前的所有年的天数之和if( IsLeapYear( Year_Start ) ) /当前年份是闰年Per_Year_Days = 366; /则当前年份的天数为366天 else /当前年份是平年Per_Year_Days = 365; /则当前年份的天数为365天 Year_days = Year_days + Per_Year_Days; /当前年份之前的所有年的天数之和Year_Start+; for( temp = 1; temp =12; temp+ ) /一个for循环内部嵌套一个for循环和两个while循环switch( temp )case 1:printf( *一月(%d)*n,year);break; /break:跳出switch语句,执行switch语句后面的语句 case 2:printf( *二月(%d)*n,year);break;case 3:printf( *三月(%d)*n,year);break;case 4:printf( *四月(%d)*n,year);break;case 5:printf( *五月(%d)*n,year);break;case 6:printf( *六月(%d)*n,year);break;case 7:printf( *七月(%d)*n,year);break;case 8:printf( *八月(%d)*n,year);break;case 9:printf( *九月(%d)*n,year);break;case 10:printf( *十月(%d)*n,year);break;case 11:printf( *十一月(%d)*n,year);break;case 12:printf( *十二月(%d)*n,year);break;i = Year_days % 7; /输入的年份的前一年的最后一天对应星期i(i=16)星期天(i=0)printf(星期一 星期二 星期三 星期四 星期五 星期六 星期天n);if( i != 0 ) /i=0不需输出空格for( temp_i = 0; temp_i i; temp_i+) /temp_i用来计输出的空格数printf( ); /输出七个空格,保持数据右对齐,输入的年份的第一天对应星期i+1 (i=05)星期天(i=6)day = 1;if( IsLeapYear(year) & temp = 2) /输入的年份为闰年且当前月份为2月(确定闰年二月的月历)while( day = month_day12 ) /day1 ) /(一个if语句嵌套两个if语句)如果 day 1 ,则执行if( Year_days % 7 = 0 ),否则(即day=1)执行printf( %d ,day),(两个空格)if( Year_days % 7 = 0 ) /如果Year_days % 7 = 0,则执行printf(n);否则执行空语句“;”,不进行任何处理printf(n);if( day = 10 ) /如果if( day = 10 ),则执行printf( %d ,day),(一个空格);否则执行空语句“;”,不进行任何处理printf( %d ,day);/四个空格,当数大于10时与小于10的数右对齐elseprintf( %d ,day);/五个空格,当数小于10时与大于10的数右对齐Year_days+;/Year_days自增,day+;/day自增,换到下一天 else /输入的年份为平年 或 当前月份不是2月while (day = month_daytemp-1) /day 1 )/(一个if语句嵌套两个if语句)如果 day 1 ,则执行if( Year_days % 7 = 0 ),否则(即day=1)执行printf( %d ,day),(两个空格)if( Year_days % 7 = 0 )/如果Year_days % 7 = 0,则执行printf(n);否则执行空语句“;”,不进行任何处理printf(n);if( day =10 ) /如果if( day = 10 ),则执行printf( %d ,day),(一个空格);否则执行空语句“;”,不进行任何处理printf( %d ,day);/四个空格,当数大于10时与小于10的数右对齐elseprintf( %d ,day);/五个空格,当数小于10时与大于10的数右对齐Year_days+;day+;printf(n); /外层for循环结束 /主函数结束 int IsLeapYear( int year ) /定义被调函数(用户函数),(不)是闰年则返回1 (0),使条件语句的条件为真(假)if (year %4 = 0) & (year % 100 != 0) | /输入的年份能被4且 不能被100整除 或(year % 400 = 0) ) /输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 备战月考演讲稿
- 商场服装销售工作总结8篇
- 合作协议书汇编7篇
- 2025黑龙江东北林业大学生态学院校内招聘2人考前自测高频考点模拟试题及一套参考答案详解
- 2025年河北石家庄井陉县中医院公开招聘工作人员19名考前自测高频考点模拟试题及完整答案详解
- 2025北方人才(蒙东)国家标准化考试基地招聘28人考前自测高频考点模拟试题及一套参考答案详解
- 2025年甘肃省大数据中心引进博士研究生模拟试卷及答案详解(典优)
- 2025年漳平市法院系统招聘真题
- 2025福建省计量科学研究院招聘3人考前自测高频考点模拟试题完整参考答案详解
- 2025广西玉林市北流市大伦镇便民服务中心招聘公益性岗位考前自测高频考点模拟试题附答案详解(完整版)
- 凉菜岗位职责
- 药学本科毕业论文范文
- 【MOOC】声乐作品赏析与演唱-扬州大学 中国大学慕课MOOC答案
- 锅炉节能器施工方案
- 2024版中国宪法课件
- 【MOOC】机械之美-神奇的矿冶机械(双语)-江西理工大学 中国大学慕课MOOC答案
- T-IAC CAMRA 47.3- 2022汽车覆盖件低碳维修技术规范 第3部分:车辆玻璃
- 《食品厂员工绩效方案》
- 工程人员驻场服务方案
- 信息技术居间协议书
- 2024年高考文综(政治)全国卷Ⅰ试卷及答案解析
评论
0/150
提交评论