C语言I博客作业07

||
---|:--😐---:
这个作业属于那个课程 |C语言程序设计II
这个作业要求在哪里| C语言I作业07
我在这个课程的目标是| 学会熟练使用switch语句
参考文献| 百度百科

1.PTA实验作业

1.1 题目名1

计算某年某月某日是该年中的第几天。
输入在一行中按照格式“yyyy/mm/dd”(即“年/月/日”)给出日期。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。闰年的2月有29天。

1.1.1数据处理
数据表达:用了整形变量year,mouth,day,然后把每个月的天数相加用表达式列出
数据处理:定义3个整形变量,然后用if-else语句来判断输入的是平年还是闰年,进入switch语句中然后执行break语句,然后再跳出switch语句,最后输出。

伪代码:

include <stdio.h>

int main()
{
定义整型变量:year,mouth,day;
scanf("%d/%d/%d", &year, &mouth, &day);
if (该年年份能被4整除但不能被100整除、或者能被400整除)(闰年)
{
switch (月份)
{
case 1:表达式;break;
......
case 12: biaodas ; break;
}
}
else
{
switch (月份)
{
case 1: 表达式; break;
.....
case 12: 表达式; break;
}
}

return 0;

}

1.1.2 实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
2000/04/06 97 04月06日是该年的第97天
2013/06/25 176 06月25日是该年的第176天
2016/06/18 170 06月18日是该年的第170天

1.2.4 PTA提交列表及说明

提交列表说明:
1:编译错误:丢了一个"}"
2:编译错误:将","打成了";"

1.2 题目2

本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:
大于等于90分为A;
小于90且大于等于80为B;
小于80且大于等于70为C;
小于70且大于等于60为D;
小于60为E。
1.1.2数据处理
数据表达:定义了整形变量i,grade,score,N,A = 0, B = 0, C = 0, D = 0, E = 0。
数据处理:用了 if(表达式).for循环语句和switch语句

伪代码

include<stdio.h>

int main()
{
定义整形变量:i,N(学生人数),score(成绩/10),grade(成绩),A = 0, B = 0, C = 0, D = 0, E = 0;
scanf("%d", &N);输入整数,并将这个整数存在变量N中
if (N > 0)
for (i = 1; i <= N; i++)控制N的循环条件
{
scanf("%d", &grade);输入整数,并将这个整数存在变量grade中
score = 成绩 / 10;
switch (分数)
{
case 10: A++;
break;
case 9: A++;
break;
case 8: B++;
break;
case 7: C++;
break;
case 6: D++;
break;
default:E++;
break;
}
}
printf("%d %d %d %d %d", A, B, C, D, E);(按照十进制化整形输出)
return 0;
}

1.1.2 实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
85 68 46 68 90 1 1 0 2 1 A等级的有1个,B等级的有1个,C等级的有0个,D等级的有2个,E等级的有1个
98 61 78 88 58 1 1 1 1 1 A等级的有1个,B等级的有1个,C等级的有1个,D等级的有1个,E等级的有1个
65 73 80 89 94 1 2 1 1 0 A等级的有1个,B等级的有2个,C等级的有1个,D等级的有1个,E等级的有0个

1.2.4 PTA提交列表及说明


提交列表说明:
1:答案错误:没有把成绩为100的给列出来。
2:答案错误:把scanf("%d",&N);中的"打到了N的后面。

代码互评

同学代码截图

自己代码截图


该同学判断是否为闰年是用2个表达式控制2月份的天数的,而我则是把每一个月的天数加起来判断闰年的,(闰年2月份29天,平年则是2月份28天)他的代码行数比我少,但我的要比较容易让人看懂

3.学习总结

3.1 学习进度条

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第六周 8小时 220行 如何用 MinGW-w64 来编译C程序
第七周 16小时 378行 学习如何使用if语句 对于&&的用法不了解,现在操作不熟练
第八周 20小时 341行 掌握使用for循环语句
第九周 21小时 345行 学习了如何使用自定义函数 不太熟练
第十周 23小时 425行 熟悉多分支结构、字符型数据类型和逻辑运算符 不太熟练
第十一周 20小时 456行 学习了多分支结构switch语句

3.2 累积代码行和博客字数

时间 博客字数 代码行
第四周 546 60
第五周 756 80
第六周 1257 220
第七周 1564 378
第八周 1678 341
第九周 2134 345
第十周 2545 425
第十一周 2738 456

3.3 学习内容总结和感悟

3.3.1 学习内容总结

3.3.2 学习体会
这周我们学习了switch语句,我感觉越到后面越难,一题更比六题强,学习C语言初期应该重点掌握语言的语法和规定,还有要不断地积累并掌握知识,不断地融会贯通,从量变达到质变的效果。

posted @ 2019-11-07 16:41  卑微厂长在线养猪  阅读(151)  评论(6编辑  收藏  举报