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的使用,收获颇丰,虽然感觉还是挺难得,但是也很有趣。

posted @ 2019-11-06 17:25  钟天雄  阅读(214)  评论(3编辑  收藏  举报