C语言I作业08
问题|答案
-|:-😐-:
这个作业属于哪个课程|C语言程序设计II
这个作业要求在哪里|作业链接
我在这个课程的目标是|能够熟练运用C语言,能够自己制作一些简单的软件
这个作业在那个具体方面帮助我实现目标|熟悉了while和do-while语句的使用
参考文献|C语言程序教材,百度
1.1求整数的位数及各位数字之和
对于给定的正整数N,求它的位数及其各位数字之和。
1.1.1数据处理
数据表达:设置了count, number, sum三个变量,count代表位数,sum代表各位数之和。均为整型变量
数据处理:
include<stdio.h>
int main()
{
int count, number, sum = 0;//设置变量count代表位数,number代表输入的整数,sum代表各位数之和//
count = 0;
scanf ("%d", &number); //输入数据//
do{ //使用do-while语句进行运算//
sum += number%10; //将整数number的各位数分离出来//
number /=10;
count++; //通过累加计算位数//
}while (number!=0); //停止循环的条件//
printf ("%d %d\n", count, sum); //输出答案//
return 0;
}
1.1.2实验代码截图
1.1.3造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
321 | 3 6 | 题目例题 |
654321 | 6 21 | 随机测试 |
456789 | 6 39 | 随机测试 |
1.1.4PTA提交列表及说明
1.部分正确:跟着书上的例题写的,忘记计算各个位数的和。
2.答案正确:从头看了一遍发现错误。
**1.2爬动的蠕虫 **
一条蠕虫长1寸,在一口深为N寸的井的底部。已知蠕虫每1分钟可以向上爬U寸,但必须休息1分钟才能接着往上爬。在休息的过程中,蠕虫又下滑了D寸。就这样,上爬和下滑重复进行。请问,蠕虫需要多长时间才能爬出井?
这里要求不足1分钟按1分钟计,并且假定只要在某次上爬过程中蠕虫的头部到达了井的顶部,那么蠕虫就完成任务了。初始时,蠕虫是趴在井底的(即高度为0)。
1.2.1数据处理
数据表达:设置了N, U, D, a,t等几个变量,由题目意思给出,均为整型变量。
数据处理:
include<stdio.h>
int main()
{
int N, U, D, a; //根据题意设置变量//
int t;
a = t = 0; //定义啊a,t的初始值是零//
scanf ("%d %d %d",&N ,&U ,&D); //输入数据//
while(a<N) //使用while语句进行运算//
{
t++;
a = a + U;
if (a >= N) //使用if进行判断,达到条件则跳出循环,否则继续运算//
break;
a = a - D;
t++;
}
printf ("%d",t); //输出最后答案//
return 0;
}
1.2.2实验代码截图
输入数据 | 输出数据 | 说明 |
---|---|---|
12 3 1 | 11 | 题目给出的数据 |
14 3 1 | 13 | 随机数据 |
1.2.4 PTA提交列表及说明
1.答案错误:不知道为啥错在哪里,看了好几遍。
2.编译错误:重新打了一遍。
2、代码互评
同学代码
我的代码
- 我们都使用了if-else语句,并且他的代码还使用了for循环语句。但是我是对年份进行选择,而他是只对二月份进行选择。相比之下我的更麻烦也更蠢。
- 他的计算是将月份的日期进行累加,我的是将每个月是这一年的第几天算出来。我的代码显得更麻烦。
- 要学好去思考更好的方法,好的方法可以节约很多的时间。要学会去学习别人的方法,思考自己的代码有什么不足,有什么可以进步的地方,这样才能进步。
3、学习总结
3.1 学习进度条
日期 | 这周所花时间 | 代码行 | 学到的知识简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/7--10/13 | 7个小时左右 | 70左右 | if-else语句,算术运算和赋值运算 | 有些代码的含义和一些函数的含义 |
10/14--10/20 | 8个小时左右 | 200行左右 | for循环语句的使用 | 对for循环结构和if-else语句的使用不太熟练 |
10/21--10/27 | 6个小时左右 | 120行左右 | 定义函数与调用 | 对函数的使用还不太熟练 |
10/28--11/3 | 8个小时左右 | 250行左右 | 学习程序解析和多分支else-if语句 | 用太多if-else会比较混乱 |
11/4--11/8 | 9个小时左右 | 230行左右 | 学习多分支结构switch语句的使用 | 大问题没有,就是总会粗心漏打或打错 |
11/9--11/14 | 9个小时左右 | 250行左右 | 学习while和do-while语句的使用 | 对do-while语句还不太理解 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
- 已经学习这个有一段时间了,已经学过的东西还是有很多不太理解,尤其是PTA有时候一道题就是一个多小时。但是越是去深入的学习越是能感受到其中的魅力。想要学好这
一门,我必须要付出更多的时间。我相信一定能学好。 - 想要学好这一门就要经常去练习,熟能生巧。还可以自己去找题目做,在不断的练习中会逐渐进步。
- 有时候发现发现别人的代码比自己的简短好多,才发现自己还有很多的不足,要多向别人学习,取长补短。