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语言初期应该重点掌握语言的语法和规定,还有要不断地积累并掌握知识,不断地融会贯通,从量变达到质变的效果。