这个作业属于那个课程 | C语言程序设计I |
---|---|
这个作业要求在哪里 | C语言I博客作业08 |
这个作业在那个具体方面帮助我实现目标 | C语言教材书,老师课堂讲的内容,同学的帮助 |
参考文献 | C语言程序设计,百度,《C primer plus》,集美大学灵丽老师 |
1.PTA实验作业
1.1求整数的位数及各位数字之和 (15 分)
对于给定的正整数N,求它的位数及其各位数字之和。
输入格式:
输入在一行中给出一个不超过10
9
的正整数N。
输出格式:
在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。
输入样例:
321
输出样例:
3 6
1.1.1数据处理
数据表达:本题用了int整型结构m,n,sum,count为本题目设置的四个变量,用了while循环语句
数据表达:伪代码
int m,n 整型数,储存整型数
int count←0,sum←0; 位数,各位数字之和
输入整型数
n←number
while(n!=0) 使用while语句,当n不等于0时进行下面的循环
sum+←n%10 储存各位数 m=n%10; sum=sum+m; 取余 并累计
n←n/10 储存整型数
count++
输出位数,各位数字之和
结束
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
321 | 3 6 | 正确 |
6789 | 4 30 | 正确 |
456 | 3 15 | 正确 |
1.1.4 PTA提交列表及说明
Q1:编译错误
A1:输出的时候输错了数据,而且一开始没有看清楚是输入正整数,还去考虑了负数换成正整数
result 2:通过一系列的调整,最后答案正确
1.2韩信点兵 (10 分)
在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数:
按从1至5报数,记下最末一个士兵报的数为1;
再按从1至6报数,记下最末一个士兵报的数为5;
再按从1至7报数,记下最末一个士兵报的数为4;
最后按从1至11报数,最末一个士兵报的数为10;
请编写程序计算韩信至少有多少兵。
输入格式:
本题无输入
输出格式:
输出韩信至少拥有的士兵人数。
1.1.1数据处理
数据表达:使用了一个整型变量i
数据表达:伪代码
int main()
{
int i=0; //定义变量i,i用来表示韩信的兵
for (i = 1;; i++) //使用for循环结构
{
if ((i % 5 == 1) && (i % 6 == 5) && (i % 7 == 4) && (i % 11 == 10)) //根据题意写出每次报数的数据
{
printf("%d
", i);
1.2.2实验代码截图
1.2.3造数据测试
输入数据 | 输出数据 | 说明 |
---|---|---|
本题无输入 | 2111人 | 至少为2111人 |
1.2.4 PTA提交列表及说明
说明:无错误
2.代码互评
同学的题目代码
(李同学)
(另外一位李同学)
我的题目代码
说明比较不同与相同:我们三个人的代码均使用了while循环,差别不同在于定义变量的不同,第一位同学有个count+=n%10一开始不知道是什么意思,我猜也是
取余累加,我的是m=n%10; sum=sum+m;,应该也是一样的意思,还有一个不同就是他的是n/=10;而我的是n=n/10,就是把之前的数重新变成一个新的整数,就是去余吧
其他倒是大致相同。
学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
9.16~9.22 | 5h | 16 | 刚开始了解如何编程 | 编译的单词和字母数字都有哪一些作用,编译整个过程又是如何运行的 |
9.23~10.6 | 28h | 32 | 学会如何运用markdown语法 | 为什么会这么难 |
10.7~10.11 | 40h | 211 | 学会了编程的数学函数,对atp也更熟练了 | 好折磨人 |
第4周/10月10~17 | 两天半 | 183 | 掌握并学会使用for循环语句 | 还有多种循环语句不了解,循环结构和分支结构谁先编 |
10.20-10.26 | 俩天 | 192 | 定义和调用函数,以及如何在一个函数中调用另一函数 | 生成乘方表跟阶乘表这方面的内容还有很多不懂的,觉得完成作业很费力气 |
10.27~11.2 | 两天半 | 220 | 如何进行语句的嵌套,对运算符的等级高低有所了解,熟悉多分支结构、字符型数据类型和逻辑运算符 | do语句和do-whlie语句搞不清 |
11.4~11.10 | 俩天 | 256 | 学会switch语句 | 很多地方不明白,一俩句话讲不清楚 |
11.11~11.17 | 俩天 | 273 | 学会了while循环,并区别do-while和while | 学习新的东西,然后对数组有疑惑 |
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
这次作业非常的赶,因为PTA非常的难,题意的理解还需要数学好,逻辑思维要求也比较高,导致最初是怯场,再后来就是发现题意有时候难以理解,PTA迟迟搞不完,
我还是觉得自己落下的东西比较多,还要自己经常抽一些零碎时间学习一下不懂的地方,给自己补补课,然后就是我也应该用心总结一下,分好类,哪个地方掌握的还可以,
哪个地方还有待加强,,再就是PTA要多弄懂点题目,实在不会可以选择多问问的方法了,问题不能越积越多,尽早解决。