C语言I博客作业07
这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | C语言I作业07 |
我在这个课程的目标是 | 熟练掌握程序语言编写 了解各种函数的应用 主要掌握switch语句 |
这个作业在那个具体方面帮助我实现目标 | 巩固了c语言这门课程的学习。同时这周学会了switch语句的运用。 |
参考文献 | 百度 |
1.PTA实验作业
1.1 编写程序计算某年某月某日是该年中的第几天。
内容描述: 输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
1.1.1数据处理
int yyyy,mm,dd,number;//输出年月日
if((yyyy%40&&yyyy%100!=0)||(yyyy%4000))//
如果年份能被4整除但不能被100整除
或者能被400整除
switch(mm)//转换月份
case 1 :number=0;break;//case常量 1 执行 number=number+dd语句,然后跳出break循环
case 2 :number=31;break;//case常量 2 执行 number=number+dd语句,然后跳出break循环
case 3 :number=60;break;//case常量 3 执行 number=number+dd语句,然后跳出break循环
case 4 :number=91;break;//case常量 4 执行 number=number+dd语句,然后跳出break循环
case 5 :number=121;break;//case常量 5 执行 number=number+dd语句,然后跳出break循环
case 6 :number=152;break;//case常量 6 执行 number=number+dd语句,然后跳出break循环
case 7 :number=182;break;//case常量 7执行 number=number+dd语句,然后跳出break循环
case 8 :number=213;break;//case常量 8 执行 number=number+dd语句,然后跳出break循环
case 9 :number=244;break;//case常量 9 执行 number=number+dd语句,然后跳出break循环
case 10:number=274;break;//case常量10 执行 number=number+dd语句,然后跳出break循环
case 11:number=305;break;//case常量11 执行 number=number+dd语句,然后跳出break循环
case 12:number=335;break; //case常量12 执行 number=number+dd语句,然后跳出break循环
number=number+dd;//数字=数字+天数
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2001/09/02 | 245 | 我自己的生日 |
1949/10/01 | 274 | 新中国成立 |
1.1.4PTA提交列表及说明
1.编译错误:第一次编译错误只考虑了闰年2月29日的情况,没有考虑到平年2月只有28天的情况
2.编译错误:老毛病,return 0老是忘写
1.2 自从湖南农业大学、吉首大学和怀化学院组织程序设计课程联考以后,举办联考的经验越来丰富。尤其是在使用PTA系统作为考试平台之后,联考工作得到了很多学校的认可和支持。所以,现在参与联考的学校比较多。为了便于区分考生,考生账号的第一位是学校代号。1代表Hunan Agricultural University,2代表Jishou University,3代表Huaihua University,4代表Aerospace University,5代表Ocean University。 请编写程序根据考生的账号区分考生的学校。
1.2.1 数据处理
int account,number;//输出学校和学校相应代表的数字及其名字
number=account/100000;// 题目中在一行中给出1个6位的正整数account,
相除得出学校代表的数字及其相对的名字
switch (number){ //选出学校名字代表的数字
case 1:printf("Hunan Agricultural University");break;//case常量 1
执行输出学校语句 然后跳出break循环
case 2:printf("Jishou University");break;;//case常量 1
执行输出学校语句 然后跳出break循环
case 3:printf("Huaihua University");break;;//case常量 2
执行输出学校语句 然后跳出break循环
case 4:printf("Aerospace University");break;;//case常量 3
执行输出学校语句 然后跳出break循环
case 5:printf("Ocean University");break;;//case常量 4
执行输出学校语句 然后跳出break循环
default:printf("Other University");break;;//case常量 5
执行输出学校语句 然后跳出break循环
注解:switch中的表达式结果会找对应的case匹配,如果匹配成功就找对应的的case执行
直到遇到break结束,如果case都不匹配,会直接执行default后面的语句
1.1.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
100000 | Hunan Agricultural University | case1 |
200000 | Jishou University | case2 |
600000 | OtherUniversity | default |
1.2.4 PTA提交列表及说明
提交列表说明:
因为是在Devc++先进行编译,成功后直接打到pta上面的,这道题要看清楚题目,题目中要求在一行中给出1个6位的正整数account,所以在代码第六行要写出number=account/100000,编译出错就是这个原因。
2.代码互评
2.1同学代码截图
2.2自己代码截图
①首先我们使用的整形变量不一样,他的使用的不仅多而且长度大,我的相比于他还有简化的余地。
②然后是计算步骤不尽相同,他是先算h再算m,我是h,m在一起运算,相比于他我的更加明了
③可以看出我这种写法更为精简明了,更容易为同学们所接受,做一道题不能只根据字面意思立马做题,应该仔细斟酌思考以后用最简单的方法做
3.学习总结
3.1 学习进度条
周数/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第四周/10-17 | 约5小时 | 300行左右 | “for”循环结构语句的基本使用 | 对循环结构的使用不熟练。 |
第五周/10-24 | 约4小时 | 280行左右 | 定义函数的使用 | 对pta上的作业题目很难读懂意思 |
第六周/10-31 | 约5小时 | 350行左右 | 逻辑表达式 关系表达式 | 听课听得懂 做题不会做 |
第七周/11-6 | 约5小时 | 300行左右 | switch语句,char数据类型 | 题目大致能看懂,细致末梢难以处理 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
学习c语言已经2个多月了,实话,晦涩难懂,但是学习的过程就是这样-学习如逆水行舟,不进则退。学习过程中苦乐参半,在做作业的过程中是痛苦的,这次pta的作业要看半天才读懂,而且这次pta的作业很多,有14道题目要花费很多时间。实在看不懂的题目,只能寻求百度 不得不说百度是个好东西,知乎也是,不懂得东西及时提问,都能搜到很多对自己有用的答案,如果这俩个都不行,我就只能询问学长和老师了。长风破浪会有时,直挂云帆济沧海!在学习的过程中难免会遇到困难但是我们要不畏惧困难 要努力克服学习上的困难,c语言的学习需要夜以继日的练习,不然很容易生疏。这周又学习了新的综合程序设计分支结构,还有char数据类型,switch语句,以及break的使用,收获颇丰,虽然感觉还是挺难得,但是也很有趣。