C语言I博客作业07
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/swxy/SE2019-3/homework/9929 |
我在这个课程的目标是 | 熟悉代码的编程,设计出一个小程序,能够正常运行并且能够拥有一定用户 |
这个作业在哪个地方具体方面帮助我实现目标 | 熟悉多分支结构switch语句的使用 |
参考文献 | C语言课本 百度百科 https://baike.baidu.com/item/伪代码/10321865?fr=aladdin |
1.PTA实验作业
1.1题目名
本题要求编写程序计算某年某月某日是该年中的第几天。
输入格式:
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。
输出格式:
在一行输出日期是该年中的第几天
1.1.1数据处理
数据表达:用到了整型变量y,m,d,date
数据处理:用到了scanf和printf流程结构,主要运用了switch-break语句和if语句
伪代码:定义变量 y,m,d,date=0;
if((y%40&&y%100!=0)||y%4000)(闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除)
{if(月份>2){日期加一天}}
switch(月份)
{各月份所对应的相关天数,跳出}
输出(日期是该年中的第几天)
return 0;
1.1.2实验截图代码
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
2000/10/11 | 285 | 2000年10月11日是该年的第285天 |
2000/4/20 | 111 | 2000年10月11日是该年的第111天 |
2000/03/02 | 62 | 2000年3月2日是该年的第63天 |
2000/5/20 | 141 | 2000年5月20日是该年的第141天 |
1.1.4 PTA提交列表及说明
说明:
Q1:编译错误
A1:开始思路没理清,没处理好天数和各具体月份的关系
1.2题目名
本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E
1.2.1数据处理
数据表达:用到了整型变量N,i,g,sum,A,B,C,D,E;
数据处理:用到了scanf和printf流程结构,主要运用了switch-break语句和if语句,
伪代码: 定义变量 N,i,g,sum,A=0,B=0,C=0,D=0,E=0;
for(i=1;i<=N;i++) (进行for循环)
{
scanf("%d",&g);
sum=g/10; (取余数)
switch(sum)
{
不同余数所对应的等级
}
输出(A、B、C、D、E对应的五分制成绩的人数分布)
return 0;
1.2.2实验截图代码
1.2.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
7 77 54 92 73 60 65 69 | 1 0 2 3 1 | 评为A的1个,B的0个,C的2个,D的3个,E的1个 |
3 67 78 97 | 1 0 1 1 0 | 评为A的1个,B的0个,C的1个,D的1个,E的0个 |
4 66 56 87 78 | 0 1 1 1 1 | 评为A的0个,B的1个,C的1个,D的1个,E的1个 |
1.2.4PTA提交列表及说明
说明:Q1:答案错误
A1:在确定等级分数时,我直接用的100,90,80,70,60;对代码进行了修改,改为了看余数是否符合等级要求
Q2:编译错误
A2:在对Q1进行修改时不够仔细,导致代码漏了符号
2代码互评
1.同学代码截图
2.自己代码截图
说明:他的代码和我的代码有很大区别
1:使用的变量不同,但都是使用的整型变量
2:他将有31天,30天,29天,28天的月份整合在一起进行的运算,而我是算的是各月份的累积天数,显然,该同学的代码思路更好,省时
3.同学代码截图
4.自己代码截图
说明:他的代码和我的代码有很大区别
1:使用的变量不同,但都是使用的整型变量
2:他是先划分了分数区间,然后对其进行标识,而我是取的是十位数或百位数,将其标识,再用余数与之对应输出结果
3.学习总结
3.1学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
4/2019.9.21 | 7个小时 | 50 | 编程“hello word” | 初次接触对代码很迷惘,不知道表示的是什么意思 |
5/2019.10.2 | 8个小时 | 100 | 安装gcc编译器,将代码建在自己的文件里 | 如何安装的程序不明白 |
7/2019.10.11 | 10个小时 | 200 | 三种表达式,printf流程和scanf流程,if-else语句 | scanf流程还是不太明白 |
8/2019.10.17 | 20个小时 | 350 | 使用for循环语句数的循环程序设计 | for循环语句的结构还是有点困惑 |
9/2019.10.25 | 25个小时 | 550 | 使用while语句循环,自定义函数,参数 | 自定义函数还是·不太明白 |
10/2019.11.1 | 20个小时 | 700 | 熟悉多分支结构、字符型数据类型和逻辑运算符 | 关于字符型的代码还是不太明白 |
11/2019.11.7 | 15个小时 | 1000 | 熟悉多分支结构switch语句的使用 | 对swith语句的使用还有一定的困惑\ |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
请用思维导图的形式将到目前为止所学的内容进行整理
3.3.2学习体会
这周主要对switch语句进行了学习,之前一直用的是if-else语句编写,这次做题时,感觉自己可以用if-else语句写出来,但是就是无法对switch灵活运用,这个还需要我进一步深入学习。
题目难度越来越大,知识点越来越多,在编写代码的同时还要对以前的进行回顾温习,才能对代码进一步学习,要一直努力,不能松懈