这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-4/homework/11555 |
我在这个课程的目标是 | 熟悉多分支结构switch语句的使用以及提高打字速度 |
这个作业在那个具体方面帮助我实现目标 | 能够在尽量不问别人的前提下独立完成PTA作业 |
参考文献 | C语言程序设计,夸克 |
1.PTA实验作业
我的排名:
1.1 题目名1
7-3 计算天数
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天。
1.1.1数据处理
数据表达:用了days,year,month,day这些变量,year,month,day这些变量的值是由手动输入,类型是整型。
数据处理:分支结构
switch(month){
case 1:days = 0;break;
case 2:days = 31;break;
case 3:days = 59;break;
case 4:days = 90;break;
case 5:days = 120;break;
case 6:days = 151;break;
case 7:days = 181;break;
case 8:days = 212;break;
case 9:days = 243;break;
case 10:days = 273;break;
case 11:days = 304;break;
case 12:days = 334;break;
}
if语句
if((year%4 == 0 && year%100 != 0)||year%400 == 0){
if(month > 2)
days = days+1;
}
printf("%d",days);
以及逻辑运算符:逻辑与&&,逻辑或||
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2019/03/08 | 67 | 该日期是该年中的第67天 |
2020/03/08 | 68 | 该日期是该年中的第68天 |
2021/03/08 | 67 | 该日期是该年中的第67天 |
2022/03/08 | 67 | 该日期是该年中的第67天 |
1.1.4 PTA提交列表及说明
答案错误:输入语句中scanf("%d/%d/%d",&year, &month, &day)的%d/%d/%d之间不是用的/隔开,而是用的空格。多次尝试之后才成功。
部分正确:switch语句中的switch后的表达式中用的不是常量表达式。
1.2 题目名2
7-5 多分支表达-倍数问题
键盘输入1个正的整数A,如果A是3的倍数但不是5的倍数,则输出A除以5的余数。如果A是5的倍数但是不是3的倍数,则输出A除以3的余数。如果A既不是5的倍数但也不是3的倍数,输出A除以15的余数。
输入格式:
1个正整数
输出格式:
如果是3的倍数但不是5的倍数,则输出A除以5的余数。 如果A是5的倍数但是不是3的倍数,则输出A除以3的余数。 如果A既不是5的倍数但也不是3的倍数,输出A除以15的余数。 如果A不是正整数,没有任何输出。
1.2.1 数据处理
数据表达:用了A这些变量,这个变量的值是由手动输入,类型是整型。
数据处理:if语句
if(A%3 == 0&&A%5 != 0){
printf("%d",A%5);
}
if(A%5 == 0 && A%3 != 0){
printf("%d",A%3);
}
if(A%5 != 0 && A%3 != 0){
printf("%d",A%15);
}
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
9 | 4 | 9是3的倍数但不是5的倍数 |
10 | 1 | 10是3的倍数但不是5的倍数 |
22 | 7 | 22既不是5的倍数但也不是3的倍数 |
23 | 8 | 23既不是5的倍数但也不是3的倍数 |
1.2.4 PTA提交列表及说明
部分正确:printf后面没有写明要输出啥。
编译错误:printf中A%后没有数字,没有明确题目要求。
2.代码互评
同学代码截图
自己代码截图
1.首先,还是我们寝室的这位大佬,代码既简短又正确,与众不同。用到了新学的知识switch,非常厉害。
2.郑九龙同学的代码,额,基本和我一样吧,但我没有抄他的哦,我是自己做的,不过我的if语句没有else,不知道可不可以
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第三周 | 四天 | 129 | for循环结构 | C语言运用的不熟练,博文编写的时候很多功能不会,而且用的是Markdown,和TinyMCE不同,Markdown有很多东西都没有,对我来说不是那么的方便 |
第四周 | 三天 | 135 | 自定义函数 | 打字还是不太熟练,太慢了,写的代码往往运行成功了自己却不知道啥意思,是咋运行的,只知道拿着书了翻 |
第五周 | 三天 | 111 | 分支结构 | 老是需要翻书问别人,弱爆了,啥时候是个头啊 |
第六周 | 三天 | 122 | switch语句 | 不是特别清楚switch到底啥情况下用,不能够在题目一出现时就知道该用啥语句 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
本次的PTA作业真的把我给吓到了,前几题还好,不过对我来说还得花点时间才能做的出来,不过第四题就真的难倒我了(不过我也不会写),嗯,还要多多加油,争取能不挂科!加油!