C语言I博客作业07

这个作业属于哪个课程| C语言程序设计II |
| ---- | ---- | ---- |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-1/homework/11588 |
|我在这个课程的目标是| 学习while循环语句的使用|
|这个作业在那个具体方面帮助我实现目标| 在作业中练习了这个语法运用|
|参考文献| c语言程序设计(第三版)|
|学号 |20208953|

1.PTA实验作业


1.1求整数的位数及各位数字之和
题目内容:对于给定的正整数N,求它的位数及其各位数字之和。
1.1.1数据处理

数据表达:使用整形变量n、sum、x,sun是求和,n是输入的数,x是位数。
数据处理:表达式与流程结构<伪代码如下>:
        int n, sum =0, x = 0;  //赋值为0
        while (n != 0)  //循环条件,n不为0
        sum += n % 10;
		n /= 10;
		x++;  //循环语句,x++是求位数语句,sum加余数求和

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
123 3 6 位数和是对的
15647 5 23 正确
1456789654 10 55 正确
1546232 7 23 正确
1.1.4 PTA提交列表及说明
说明:
编译错误:在vs中使用scanf_s提交的时候忘记改动了。
         在vs中使用能运行了,一般提交就是对的,格式也不会错

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

数据表达:定义一个输入的整形数n
数据处理:表达式与流程结构<伪代码如下>:
      while (n != 1)  //循环的条件
      if (n % 2 != 0) {
			printf("%d*3+1=%d\n", n, n * 3 + 1);
			n = n * 3 + 1;  //为奇数的时候的循环语句和输出


      	else {
			printf("%d/2=%d\n", n, n / 2);
			n = n / 2;  //为偶数的语句和输出方式

1.2.2 实验代码截图

1.2.3 造测试数据

输入 输出 说明
12 12/2=6 6/2=3 33+1=10 10/2=5 53+1=16 16/2=8 8/2=4 4/2=2 2/2=1 正确
32 32/2=16 16/2=8 8/2=4 4/2=2 2/2=1 正确
4 4/2=2 2/2=1 正确
1.2.4PTA提交列表及说明
编译错误:2次编译错误是因为格式不对。
答案错误:奇数和偶数没分清在程序中不能正常运行。
运行超时:循环条件弄错导致一直运行,停不下来。

代码互评

别人的代码1:

别人的代码2:

我的代码:

1.与第一位同学不同的是他多用了while,我的看起来简单一点。
2.第二位的代码与我相差不大,只是位置不同和格式不同。

3.学习总结

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
第八周 14 90 printf等初级的使用
第九周 16 106 怎样弄成函数输出
第十周 18 126 条件结构
第十一周 20 142 循环结构 =和==的区别不是很清楚
第十二周 24 240 多分支结构 和%的使用不清楚
第十三周 23 254 switch的分支结构 有的时候不知道怎么变整形来用switch
第十四周 22 246 white循环结构 对于一些题不知道怎么入手
3.2累积代码行和博客字数
时间 博客字数 代码行数
第八周 800 90
第九周 967 106
第十周 1076 126
第十一周 1360 142
第十二周 1766 234
第十三周 1620 254
第十四周 1534 234
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2学习体会
在本周的学习中,又增加了新知识,有的时候知道语句的规则,但是在具体的题目中就不太会,不知道怎么开始写了。而且在一些语法的使用上面也不是很熟练,看来自己还需要继续努力,不知到的要及时向老师或同学请教。
posted @ 2020-12-06 17:30  闷葫芦147  阅读(163)  评论(7编辑  收藏  举报