C语言I博客作业08

这个作业属于那个课程 C语言程序设计II
这个作业要求在哪里 http://edu.cnblogs.com/campus/zswxy/SE2019-1/homework/9980”
我在这个课程的目标是 将想法在计算机上实现
这个作业在那个具体方面帮助我实现目标 提供习题练习
参考文献 C语言程序设计II
1.PTA实验作业

1.1 求整数的位数及各位数字之和 (15 分)

对于给定的正整数N,求它的位数及其各位数字之和。
1.1.1数据表达:定义整形变量n,a,b,y用while语句判断。
数据处理:
输入n;
while(n>0){
y=n%10,n=n/10,a++,b=b+y;}y是取当前n的最后一个数字,b是n的各个位的和。
printf n;
return 0;

1.1.2代码截图

1.1.3 造测试数据

输入数据|输出数据|说明|
-|-
321|3 6|样例|
520|3 7|---|
1.1.4 PTA提交列表及说明

答案错误:在输出中也用了&;
答案错误:少打空格;

二进制转10进制

输入一组二进制字符,输出其对应的十进制数。当输入回车键时,输入结束。若输入非二进制字符,输出error input!
1.1.1数据表达:定义n,a,b,i;4个整形变量
数据处理
输入 n;
while(n!=0){
i=n%10,用于得到当前n的末尾的数;
n=n/10,结束循环的条件,用于判断是否取到了n的首位;
b=b+i*pow(2,a),累计出二进制转换为十进制的值;
a++,记当前求到了n的第几位;
if(i>1){判断不是二进制的情况;
printf("error input!");
return 0;}
输出 b;
}
代码截图

1.2.3 造测试数据
输入数据|输出数据|说明|
-|-
1111111|255|样例|
34|error input!|样例|
130|error input!|自定义数据|

注:写了比较久,是个部分正确;也不知道错哪了;

代码互评

同学的代码

自己的代码

我看了一下班级博客,我看到的这一题所用方法都是一样的,我们的区别就是while后面所接的条件不同,我用的是n>0,他们用的是n!=0。
4. 学习总结:

.1“学习进度条
周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题|
-|-
第十二周|10+|75行|while do while 语句的运用|pta第三题 怎么写|
3.2“累积代码行和博客字数
时间|博客字数|代码行数|
-|-
第一周|595|45|
第二周|645|42|
第三周|756|100|
第四周|824|112|
第五周|932|84|
第六周|872|130|
第七周|1021|150|
第八周|981|75|

学习体会
这周作业比较难,真的是花了很多时间,但花了时间就会有收获,现在读代码的能力比以前强多了,而且写题目思路上没问题,但是我的语言转换能力还有待提高,每次在上面要花很多时间,搞得很疲倦。

posted @ 2019-11-16 09:26  谢志鸿  阅读(165)  评论(1编辑  收藏  举报