C语言I博客作业07

1.作业头

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/SE2020-2
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2020-2/homework/11585
这个作业的目标 <熟悉while语句的使用,使编程更加简洁迅速>
学号 <20209120>

一、本周教学内容&目标

第4章 循环结构 4.1-4.2 熟悉使用while和do-while结构解决问题。

二、本周作业

1.PTA实验作业
2.代码互评
3.学习总结

三、作业格式

1.PTA实验作业

1.1题目名1

对于给定的正整数N,求它的位数及其各位数字之和。

1.1.1数据处理

数据表达:运用变量a,n,s,c,四个变量都为整形,都是由自己赋值而来。
数据处理:
while(N!=0){
a=N%10;
N=N/10;
c++;
s=s+a;
}

1.1.2实验代码截图

1.1.3造测试数据

输入数据 输出数据 说明
611 3 8 这是个三位数,位数上各个数字之和为8
532 3 10 这是个三位数,位数上各个数字之和为10
5945 4 23 这是个四位数,位数上各个数字之和为23

1.1.4PTA提交列表及说明

问题:1.答案出现了错误,输出错误。

2.改正程序后答案正确了但格式不符合要求。

解决方法:1.检查一次,发现错误改正程序使结果正确。

2.检查是否少了空格,发现在输出时要用空格将结果分开。

1.2题目名2

日本数学家古角静夫研究自然数时,发现一个有趣现象:“如果是个偶数就除2,如果是奇数就乘以3加1”,经过有限个这样的处理步骤,最后一定能得到1. 任意输入一个自然数,给出得到结果1的运算过程。

1.2.1数据处理

数据表达:运用了a,b两个变量,且都为整形,a值输入得到,b值与a初始值相等。
数据处理:
while(a!=1){
if(a%2==0){
b=a;
a=a/2;
printf("%d/2=%d ",b,a);
}
else{
b=a;
a=a3+1;
printf("%d
3+1=%d ",b,a);
}
}

1.2.2实验代码截图

1.2.3造测试数据

输入数据 输出数据 说明
1 不符合while进行的条件,不进行循环
2 2/2=1 2为偶数除以2得到1退出据循环,输出结果

1.2.4PTA提交列表及说明

问题:1.运行时间超时,结果错误。

2.输出结果不符合题目要求。

解决方法:1.应该令b=a而不是a=b。

2.不小心把while打成了switch,将switch改成while。

2.代码互评

同学代码截图

自己代码截图

不同:1.思路上没什么区别,大致差不多。

2.我定义了N的取值范围,像是更加规范。

同学代码截图

自己代码截图

不同:1.他输出时直接用等式表示的,而我定义了一个数来表示,可能他的更简洁吧。

2.除一些表达形式不同其他大致相同。

3.学习总结

3.1学习进度条

周/日期 这周花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第八周/10.19~10.25 21小时 123 学会了用代码打出Hello World!
第九周/10.26~11.1 18小时 389 学会了用代码来计算加减
第十周/11.2~11.8 14小时 526 学会了使用for循环语句 整形和浮点型的运用
第十一周/11.9~11.15 18小时 638 学会了去使用调用函数,计算n! 调用函数适用于哪些地方
第十二周/11.16~11.22 16小时 864 学会了使用字符型,if else结构 字符型与其它数据类型怎么转换
第十三周/11.23~11.29 18小时 988 switch语句的使用 switch语句理解不够深,导致不能用于做题
第十四周/11.30~11.6 23小时 783 while语句的使用 有些小细节还是弄不懂

3.2累积代码行和博客字数

时间 博客字数 代码行数
第八周 172 123
第九周 355 389
第十周 658 526
第十一周 868 638
第十二周 946 864
第十三周 1023 988
第十四周 976 783

3.3学习内容总结和感悟

3.3.1学习内容总结

3.3.2学习体会

学习感受:这作业越来越难搞了,对于那些时间本就不够玩的同学来说真的很痛苦。

想法:为了让自己玩的更快乐,上分更简单,C语言这门课得加把油了。

原文地址:https://www.cnblogs.com/hdg656/p/14089908.html