1.PTA实验作业
1.1 题目名1
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被
400整除。闰年的2月有29天。
输出格式:在一行输出日期是该年中的第几天。
输入样例1:2009/03/02
输出样例1:61
输入样例2:2000/03/02
输出样例2:62
1.1.1数据处理
**数据表达:**用了变量**n,month,day,year**,year,month,day的值通过定义得到,n的值通过赋值表达式得到的,类型都是**整型变量**。
**数据处理:**
①数据用到的表达式是**逻辑表达式,算术表达式**
②流程结构:**switch语句**
1.1.2实验代码截图
1.1.3 造测试数据
2009/03/02 | 61 | 与题目样例一样正确 |
2000/03/02 | 62 | 与题目样例一样正确 |
2020/05/14 | 135 | 随机取年份月日检验 |
1.1.4 PTA提交列表及说明
1.答案正确:没有用switch语句。
2.答案错误:觉得是scanf语句里面day,month的顺序不对,改过来后还是答案错误。
3.答案错误:没有输入4月时的情况,加上去后还是答案错误。
4.答案错误:4月后面的月份数字加错了,改过来后还是答案错误。
5.答案错误:发现改过来的数字还有错的,改过来后还是答案错误。
6.答案错误:题目要求“yyyy/mm/dd”,在scanf语句里面没有把"%d%02d%02d"那样子表示,改成"%d/%02d/%02d"后答案正确。
7.答案正确。
1.2 题目2
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
输入格式:输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
输出格式:在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。
输入样例:
7
77 54 92 73 60 65 69
输出样例:
1 0 2 3 1
1.2.1 数据处理
**数据表达:**用了**N,x,A,B,C,D,E,i**8个变量,A,B,C,D,E的值是通过运算来的,N,x,i是通过定义来的,都是**整型变量。**
**数据处理:**
①数据用到的表达式有**逻辑表达式,算数表达式**;
②流程结构:**for语句,switch语句**
1.2.2 实验代码截图
1.2.3 造测试数据
7,77 54 92 73 60 65 69 | 1 0 2 3 1 | 与题目样例一样正确 |
9,100 60 22 80 50 67 90 82 45 | 2 2 0 2 3 | 随机输入学生人数和不同的成绩检验是否正确 |
1.2.4 PTA提交列表及说明
1.编译错误:忘记定义i了,在int里面定义后是部分正确;
2-3.部分正确:把N,x一起放在scanf语句里面了,后面把x放在了下一个scanf语句里,答案正确。
4.答案正确。
2.代码互评
1.我们俩的代码格式是一样的,感觉同学1的代码比较紧凑,我的稍微美观一点。
2.同学2switch语句里面的语句段和我的不一样,她在语句后面加了n=n+dd,我们的意思是一样的。她把两种情况都例出来了,用了两个switch语句,
if-else语句用在两个switch语句之间,代码比较长。我的if-else语句用在后面的,代码比同学2简单点。
3.学习总结
3.1 学习进度条
第11周/11.9 | 一天 | 137 | switch语句 | scanf语句在int后面和在for或其他语句后面有什么区别吗 |
第10周/11.4 | 一天 | 112 | if语句的嵌套,字符型,逻辑运算符 | 怎么活用已学知识点做PTA |
第9周/10.25 | 一天半 | 88 | 函数的定义,调用 | “/=”是什么意思 |
第8周/10.18 | 两天左右 | 84 | 循环结构,for语句 | 在Dev-C++里面正确的代码到PTA上是答案错误怎么解决 |
第7周/10.8-10.12 | 两天左右 | 49 | scanf()函数,if-else语句,常用的数学函数,关系运算符... | PTA作业怎么能好好的做完! |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
感觉这周的题目不多,但是代码很长,打代码还是要仔细。认真学会语句的用法,才能比较顺利的完成作业。这周我一直疑惑一个问题,scanf语句在int
后面和在for或其他语句后面有什么区别吗?我有一个题目就是因为这个错了。还有就是7-11 程序设计联考 这个题目的代码我在Dev-C++里面运行出来的
不对,为什么啊?