1.PTA实验作业
1.1统计学生成绩
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
输入格式:
输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。
输出格式:
在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。
1.1.1数据处理
数据表达:定义了整形变量n,N,i,x1,x2,x3,x4,x5。并把x1,x2,x3,x4,x5初始化。浮点型变量score。
数据处理:用了if-else结构和switch语句。表达式-x1=x1+1,x2=x2+1,x3=x3+1,x4=x4+1,x5=x5+1.
1.1.2实验代码截图
1.1.3造测试数据
输入数据 |
输出数据 |
说明 |
77 54 92 73 60 65 69 |
1 0 2 3 1 |
没有成绩为B的同学 |
100 90 52 34 |
2 0 0 0 2 |
没有成绩为B,C,D的同学 |
90 85 76 62 42 |
1 1 1 1 1 |
成绩为A,B,C,D,E的同学分别有一人 |
1.1.4PTA提交列表及说明
提交列表说明
* 1.编译错误:这次的代码写的有点长,写着写着就把后面几个n=3,4后面忘记打;了。
* 2.编译错误:因为后面加入了变量x1,x2....,忘记在前面定义了。
* 3.答案错误:switch语句体里面的表达式没有进行累加。
1.2程序设计联考
自从湖南农业大学、吉首大学和怀化学院组织程序设计课程联考以后,举办联考的经验越来丰富。尤其是在使用PTA系统作为考试平台之后,联考工作得到了很多学校的认可和支持。所以,现在参与联考的学校比较多。为了便于区分考生,考生账号的第一位是学校代号。1代表Hunan Agricultural University,2代表Jishou University,3代表Huaihua University,4代表Aerospace University,5代表Ocean University。 请编写程序根据考生的账号区分考生的学校。
输入格式:
在一行中给出1个6位的正整数account。
输出格式:
在一行中输出account的学校。注意:如果不清楚学校代号是哪个学校,则输出"OtherUniversity"。
1.2.1数据处理
数据表达:定义了整形变量N,n,x;
数据处理:用了if-else结构和switch语句。
1.2.2实验代码截图
1.2.3造测试数据
输入数据 |
输出数据 |
说明 |
123456 |
Hunan Agricultural University |
该学生来自Hunan Agricultural University |
015966 |
Other University |
该学生来Other University |
369852 |
Huaihua University |
该学生来自Huaihua University |
1.2.4PTA提交列表及说明
提交列表说明
* 1.编译错误:题目中说如果不清楚学校代号是哪个学校,则输出"OtherUniversity"。我以为要输出"OtherUniversity",符号也要。我就在OtherUniversity两边加了’。
* 2.部分正确:我在OtherUniversity前面打了几个空格。 错了,就又在后面打了几个空格。我也不知道为什么。最后终于发现了。(这道题目做对了后 觉得很简单。虽然错误就只出现在OtherUniversity,但是找出来还是比较困难的。都是题目惹的祸)
2代码互评
同学代码截图
自己代码截图
这题我们的思考方向不一样,我想的是直接if语句判断数在那个范围,在用switch语句进行选择。而同学的代码是先进行算,再用switch语句进行选择。相同的是我们都用了switch语句。各有各的好处,我的是比较容易懂同学的是看起来整洁舒服。第一个同学的代码和第二个同学的代码在思路上差不多,只是第二个同学没有全部进行累加。
3.学习总结
3.1学习进度条
周/日期 |
这周所花时间 |
代码行 |
学到的知识点简介 |
此前比较迷茫的问题 |
第一周 |
1天 |
24行 |
学会了一点printf()语句,知道主函数 |
\n的用法 |
第二周 |
4天 |
23行 |
学会计算摄氏温度与华氏温度的转化 |
=两边打空格 |
第三周 |
2天 |
62行 |
学会一点scanf()语句,定义变量,if-else结构 |
很多地方不知道为什么要打空格 |
第四周 |
1天 |
145行 |
学会了for()语句 |
目前没有 |
第五周 |
1天 |
142行 |
对函数的定义和调用有初步的认识 |
在函数的定义中是否可以输入形参的值 |
第六周 |
2天 |
132行 |
加深对if-else分支结构的认识,字符型变量和常量的定义以及字符型输入输出函数 |
字符型数据的输出和输入不懂 |
第七周 |
1天 |
206行 |
学会switch语句,用switch语句处理多分支选择问题 |
在编译器上打代码时,编译器没有提示错误,但是答案错了。后来才知道case后面要打空格再打常数表达式 |
3.2累积代码行和博客字数
3.3学习内容总结和感悟
3.3.1学习内容总结
3.3.2学习体会
- 1.机课上在做实验题第一题时,编译器没有提示错误,但是答案一直错误,当时真的快崩溃了。我就一直检查代码是不是错了,但是代码确实没有错误。最后才发现原来case后面要打空格再打常数表达式。最后答案对了还是很开兴的。
- 2.这周的pta都要用switch语句做,做起来还是比较吃力的。对于switch语句用起来还不是特别熟练。还是要多多练习,就像if-else语句,用多了就比较熟练了。还有就是这周pta的第二题,我总有一个格式错误,一直找不到。我的学校名字都是复制上去的。应该没有错误。最后发现原来OtherUniversity这个单词之间要自己打空格。这次代码有点长犯了不该犯的错误,希望下次不管代码有多长,也要细心,不要急躁。
- 3.这周还有一个收获 是在做pta最后一题时,要输出如18 3 NONE这要的形式,我们就要在第二和第三个输出函数里面添加一个空格,如printf(" NONE");。