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灵活运用,这个还需要我进一步深入学习。
题目难度越来越大,知识点越来越多,在编写代码的同时还要对以前的进行回顾温习,才能对代码进一步学习,要一直努力,不能松懈

原文地址:https://www.cnblogs.com/lzy2000----/p/11809259.html