C语言I博客作业07
作业头
| 这个作业属于哪个课程 | hhttps://edu.cnblogs.com/campus/zswxy/SE2020-3 |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2020-3/homework/11586 |
| 这个作业的目标 | <理解while和do-while的应用> |
| 学号 | <20209161> |
1.PTA实验

1.1 题目名1

1.1.1数据处理
数据表达:整形a,通过scanf输入。
数据处理:应用while,循环条件为a!=1,再嵌套if-else语句。
while(a!=1){
if(a%2==0){
printf("%d/2=%d\n",a,a/2);
a=a/2;
}
else{
printf("%d*3+1=%d\n",a,a*3+1);
a=a*3+1;
}
}
1.1.2实验代码截图

1.1.3 造测试数据
| 输入 | 输出 | 说明 |
|---|---|---|
| 4 | 4/2=2,2/2=1 | 输入为偶数 |
| 33+1=10,33+1=10,5*3+1=16,16/2=8,8/2=4,4/2=2,2/2=1 | 输入为奇数 | |
| 2 | 2/2=1 | 输入为偶数 |
1.1.4 PTA提交列表及说明


答案错误:while结束条件错误,把a==1改为a!=1。
格式错误:输出忘记换行,printf中加上换行符。
1.2 题目2

1.2.1 数据处理
数据表达:变量有a,b,都是整形,b通过scanf输入。
数据处理:用do-while循环,再嵌套if-else语句。
do
{
scanf("%d",&b);
if (a<b)
{
a=b;
}
} while (b>=0);
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入 | 输出 | 说明 |
|---|---|---|
| 2 3 6 -4 5 | 6 | 五位同学 |
| 95 64 62 75 | 95 | 四位同学 |
| 55 66 77 88 99 100 | 100 | 六位同学 |
1.2.4 PTA提交列表及说明


编译错误:while()后面忘记加;,在括号后加上;。
运行超时:while的循环条件理解错误,正确为 while (b>=0)
2.代码互评
同学代码截图


自己代码截图

第一位同学用的是while(1)条件判断永远为真,一直循环直到遇到break语句跳出循环。我用 while循环结束条件。
第二位同学循环结束条件不一样,他用的是while(n!=-1),我用的是while(a>=0)。if的条件不一样,基本思路差不多。
3.学习总结
3.1 学习进度条
| 周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较困惑的问题 |
|---|---|---|---|---|
| 第14周11.30-12.6 | 12h | 690 | while和do-while循环 | 对while的结束条件和应用不熟练 |
3.2 累积代码行和博客字数

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

3.3.2学习体会
1.随着我们不断增加新知识,学习的内容也越来越多,在做题目的时候,发现一个题目有多个方法解决,不同的方法我们都应该去掌握和理解,才能取得更大的进步
2.在课后我们都有充足的时间,不能浪费,做完PTA,可以找一些课外题目做,这样来提升自己能力
3.做题目的方式,可以在草稿纸上写下自己简单的思路,不能拿到一个题目就开始打代码

浙公网安备 33010602011771号