这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/9978 |
我在这个课程的目标是 | 熟练掌握C语言基础 |
这个作业在哪个具体方面帮助我实现目标 | 掌握C语言知识,有效的完成PTA作业 |
参考文献 | C语言程序设计 |
1.PTA实验作业
1.1 题目名1
对于给定的正整数N,求它的位数及其各位数字之和。 输入格式:输入在一行中给出一个不超过pow(10, 9)的正整数N。 输出格式:在一行中输出N的位数及其各位数字之和,中间用一个空格隔开。 输入样例:321 输出样例:3 6
1.1.1数据处理
**数据表达:**用了**n,count,i,N**四个变量,i的值是通过赋值运算出来的,n,N的值由定义知,count通过累加得,都是整型变量。 **数据处理:**数据用到的表达式和流程结构。**请用伪代码表示**。
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
321 | 3 6 | 与题目样例一样正确 |
70581 | 5 21 | 随机取数检验代码是否正确 |
85428963 | 8 45 | 随机取数检验代码是否正确 |
1.1.4 PTA提交列表及说明
1.编译错误:scanf()里面n后面多了一个逗号;去掉逗号变成了部分正确。
2.部分正确:代码考虑的不完整,各位数字之和不正确,没有考虑个位数。在前面又定义了一个N,加了N=n,i=N%10就正确了。
3.答案正确。
1.2 题目2
在中国数学史上,广泛流传着一个“韩信点兵”的故事:韩信是汉高祖刘邦手下的大将,他英勇善战,智谋超群,为汉朝建立了卓越的功劳。据说韩信的数学 水平也非常高超,他在点兵的时候,为了知道有多少兵,同时又能保住军事机密,便让士兵排队报数: 按从1至5报数,记下最末一个士兵报的数为1; 再按从1至6报数,记下最末一个士兵报的数为5; 再按从1至7报数,记下最末一个士兵报的数为4; 最后按从1至11报数,最末一个士兵报的数为10; 请编写程序计算韩信至少有多少兵。 输入格式:本题无输入 输出格式:输出韩信至少拥有的士兵人数。
1.2.1 数据处理
**数据表达:**用了**n**1个变量,n的值通过循环得出,是整型变量。 **数据处理:**数据用到的表达式和流程结构。**请用伪代码表示**。
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
无 | 2111 | 韩信至少拥有的士兵人数 |
1.2.4 PTA提交列表及说明
1.答案错误:不太清楚为什么。后面把n++;前后加了{},把这后面的printf("%d", n)去掉了,在if语句的printf("%d", n)后面加了break。编译错误。
2.编译错误:PTA上说break语句不在循环和switch里面打破,不太明白什么意思。把break去掉了,在后面又加上了printf("%d", n)。答案错误。
3-4.答案错误:没有注意题目要求,在前面加了scanf(),去掉后正确。
5.答案正确。
2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
同学代码截图
自己代码截图
1,2,3方式罗列2份代码不同地方。
3.学习总结
3.1 学习进度条
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第12周/11.14 | 两天 | 137 | whlie语句,do-whlie语句 | “/=”是什么意思 |
第11周/11.9 | 一天 | 137 | switch语句 | scanf语句在int后面和在for或其他语句后面有什么区别吗 |
第10周/11.4 | 一天 | 112 | if语句的嵌套,字符型,逻辑运算符 | 怎么活用已学知识点做PTA |
第9周/10.25 | 一天半 | 88 | 函数的定义,调用 | “/=”是什么意思 |
第8周/10.18 | 两天左右 | 84 | 循环结构,for语句 | 在Dev-C++里面正确的代码到PTA上是答案错误怎么解决 |
第7周/10.8-10.12 | 两天左右 | 49 | scanf()函数,if-else语句,常用的数学函数,关系运算符... | PTA作业怎么能好好的做完! |