C语言I博客作业07
问题|回答
--|:--😐--:
这个作业属于哪个课程|C语言程序设计II
这个作业要求在哪里|https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/9930
我在这个课程的目标是|能够入门编程。
这个作业在哪个具体方面帮我实现目标|switch分支语句的使用。
参考文献|c语言程序设计。
1.PTA实验作业

1.1:7-12 统计学生成绩
1.1.1数据处理
- 数据表达:定义N,H,i,A,B,C,D,E为整数型。同时N.H为用户输入。A,B,C,D,E初始设为0后面去根据条件累加。i初始为1,后面以i<=N累加。
- 数据处理:1.表达式:A++ B++ C++ D++ E++ i++。
2.流程结构:循环结构for语句,分支结构switch语句。
伪代码
include<stdio.h>
int main(void)
{
int N,H,A=B=C=D=E=0,i
输入学生人数N
for(i==1;i<=N;i++)
{
累计输入N个成绩H;
switch(H)
{
判断H是否等于90到100中的某个数;
A++;
braek;
判断H是否等于80到89中某个数
B++;
break;
判断H是否等于70到79中某个数
C++
break;
判断H是否等于60到69中某个数
D++;
break;
若均不满足
E++
break;
}
}
prinf("%d %d %d %d %d",A.B.C.D.E)输入A,B,C,D,E的值
return 0;
}
1.1.2实验代码截图


1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| N=6 64 57 47 100 78 95 | A=2 B=0 C=1 D=1 E=2 | 有最大100,有分段数为0。 |
| N=1 0 | A=0 B=0 C=0 D=0 E=1 | N最少,分数最小。 |
1.1.4 PTA提交列表及说明

- 编译错误:for语句中第三个表达式后面打了分号,检查时发现已删除。
- 答案错误:未给A,B,C,D,E初始赋值0。
1.2:7-13 整数的分类处理
1.2.1数据处理
- 数据表达:定义N,K,B,A1,A2,A3,i为整数型。定义C,T为浮点型。A1,A2,A3初始赋值为0,i初始赋值为1.N,K为用户输入。C为符合条件的K值的累加,T为符合条件数的平均值,B为K除以3的余数。
- 数据处理:1.表达式:i++,B=K%3,A1=K,A3++,A2++,C=C+K,T=C/A3
2.流程结构:循环结构for语句,分支结构if-else语句,switch语句。
伪代码
include<stdio.h>
int main(void)
{
int N,A1=A2=A3=0,K,B,i;
double C=0,T;
输入整数个数N;
for(i=1;i<=N;i++)
{
输入N个整数;
B=K除以3的余数;
switch(B)
{
若B为0:
if(K>A1)
A1=K; 判断此时A1与K的值,取较大值。
break;
若B为1:
A2++;累加第二类数的个数
break;
若B为2:
A3++;累加第二类数的个数
C=C+K;累加第二类数
break;
}
}
T=C/A3;计算第三类数的平均数
if(A1,A2,A3都不等于0)
一次输出A1 A2 T
else if(A1等于0同时A2,A3不等于0)
依次输出NONE A2 T
else if(A1,A3不等于0,同时A2等于0)
依次输出A1 NONE T
else if(A3等于0,同时A1,A2不等于0
依次输出A1 A2 NONE
else if(A1,A2等于0同时A3不等于0)
依次输出NONE NONE T
else if(A1,A3等于0,同时A2不等于0)
依次输出NONE A2 NONE
else if(A2,A3等于0,同时A1不等于0)
依次输出A1 NONE NONE
else
依次输出NONE NONE NONE
return 0;
}
1.2.2实验代码截图


1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| N=6 64 74 9 42 76 93 | A1=93 A2=2 A3=74.0 | 三种数都有。 |
| N=7 63 67 76 84 91 52 31 | A1=84 A2=6 NONE | 有一种数没有。 |
| N=5 68 44 74 92 5 | NONE NONE A3=56.6 | 只有一种数。 |
1.2.4 PTA提交列表及说明

- 编译错误:第43行未打分号。
- 编译错误:K大小写搞混,在DEV-C++上检测出来。
2.代码互评
同学代码


我的代码


- 1.同学把二月的天数单独拿出来进行闰年判断赋值,缩减了代码。
- 2.同学if-else雨switch是分开的,我的是在一起的。
3.学习总结
3.1 学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 11/11.04-11.08 | 14h | 159 | switch分支语句的使用。 |
3.2 累积代码行和博客字数
| 时间 | 博客字数 | 代码行数 |
|---|---|---|
| 第四周 | 751 | 32 |
| 第五周 | 1352 | 54 |
| 第七周 | 2135 | 147 |
| 第八周 | 3038 | 220 |
| 第九周 | 4142 | 324 |
| 第十周 | 5342 | 450 |
| 第十一周 | 6413 | 609 |

3.3 学习内容总结和感悟
3.3.1 学习内容总结

3.3.2 学习体会
- 学习的时间也不短了,这一学期也过去了一半。对学习内容的掌握还是不尽我意,还是没什么进步。做起作业来还是有些茫然。同时随着越来越多的内容要掌握让我来不及消化就这样过去了,以后的课程可能越来越多,希望我自己能尽快适应吧。

浙公网安备 33010602011771号