C语言|博客作业11

问题 回答
这个作业属于哪个课程 C语言程序设计ll
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10127
我在这个课程的目标是 熟练掌握运用各语法,独自写出代码解决许多计算题,编写出一个小程序
这个作业在哪个具体方面帮助我实现目标 选择题帮助更好的理解了概念,函数题帮助我更好的掌握语法
参考文献 《C语言程序设计》 百度 CSDN

1. PTA实验作业

1.1 题目6-1 统计某类完全平方数

题目内容描述:本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。

1.1.1 数据处理

  • 数据表达:定义了整型变量n,m,定义了数组a[10]
  • 数据处理:使用了嵌套循环

    int IsTheNumber ( const int N )
    {
    定义n,m;
    n = N的根方并取整;
    m = n*n;
    if(m == N)
    {
    定义大小为10的数组a,同时a内所有元素均初始化为0;
    while(m>0)
    {
    定义i,i = m % 10;
    a[i]++计算有多少个这样的整数;
    if(a[i]==2)
    {
    满足条件,返回1;
    }
    m = m/10;
    循环计算
    }
    }
    return 0;
    }

1.1.2 实验代码截图

C语言|博客作业11_第1张图片

1.1.3 造测试数据

输入数据 输出数据 说明
105 500 cnt = 6 105至500间有6个完全平方数
100 200 cnt = 3 100至200间有3个完全平方数
1 1000 cnt = 9 1至1000间有9个完全平方数

1.1.4 PTA提交列表及说明

C语言|博客作业11_第2张图片

提交列表说明:

  1. 编译错误:用的不是数组,然后写的整个代码好像都有问题
  2. 编译错误:a[10]={0}写成了a[10]=0
  3. 编译错误:a[i]++写成了i++
  4. 编译错误:n=(int)sqrt(N1.0)写成了n=sqrt(N1.0)
  5. 编译错误:m == N写成了m = N
  6. 编译错误:int IsTheNumber ( const int N )后面加了个分号

1.2 题目6-2 统计各位数字之和是5的数

题目内容描述:本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。

1.2.1 数据处理

  • 数据表达:定义了整型变量n,sum,i
  • 数据处理:使用了while语句,if-else语句,for语句

    {
    定义n;
    定义sum,赋初始值为0;
    n = number;
    while(n)
    {
    sum = sum+n%10;取余求和
    n = n/10;去除个位数
    }
    if(sum == 5)如果各位数字之和等于5
    {
    返回1;
    }
    else
    {
    返回0;
    }
    }
    void count_sum(int a, int b)
    {
    定义count,赋初始值为0;
    定义sum,赋初始值为0;
    for (int i = a; i <= b; i++)
    {
    if(is(i))调用函数
    {
    count++;
    sum = sum+i;计算所有符合条件的值之和
    }
    }
    输出sum,count;
    }

1.2.2 实验代码截图

C语言|博客作业11_第3张图片

1.2.3 造测试数据

输入数据 输出数据 说明
104 999 104至999间有15个满足要求的数
1 10000 1至10000间满足要求的数之和为77770
100 9990 100至9990间有50个满足要求的数

1.2.4 PTA提交列表及说明

C语言|博客作业11_第4张图片

提交列表说明:

  1. 运行超时:我不知道错在哪,然后改了好几个地方
  2. 编译错误:for语句的条件中有一个分号写成了逗号
  3. 编译错误:没有定义i,直接写了i=a
  4. 编译错误:没有给sum赋初始值
  5. 编译错误:没有写表达式n=number

2. 代码互评

同学1代码截图

C语言|博客作业11_第5张图片

同学2代码截图

C语言|博客作业11_第6张图片

自己代码截图

C语言|博客作业11_第7张图片

代码对比

  1. 同学1使用了do-while语句,同学2的嵌套循环中使用了两个while语句
  2. 同学1使用了if(a>b)进行判断,我没有她进行她的这一步
  3. 同学2使用了两次if-else语句,还有两个不同意义的return 0;
  4. 我的代码和同学1的代码还是有很大一部分相似的,同学2的代码最简短,感觉很独特,我不是很明白她的代码,是一种值得学习的方法

3. 学习总结

3.1 学习进度条

周/日期 这周所花时间 代码行 学到的知识点简介 目前比较迷惑的问题
7/10.9-7/10.11 21小时 120 else-if从句,关系运算 PTA显示的答案错误究竟是什么
8/10.16-8/10.18 15小时 84 用for语句计算简单的序列和 双精度浮点型变量的定义
9/10.23-9/10.26 16小时 102 学到while语句的一点点知识,对自定义函数了解了一点 while语句的具体用法
10/10.30-10/11.2 14小时 145 多分支结构,逻辑运算符 当分支较多时不太会使用if,else,for
11/11.6-11/11.8 14小时 143 利于switch语句处理多分支选择问题 伪代码的具体定义
12/11.13-12/11.15 15小时 75 使用while语句进行循环计算 do-while语句和while的区别还不是特别理解
13/11.20-13/11.22 13小时 91 使用continue语句进行循环,使用嵌套循环进行计算 还是有点分不清break语句和continue语句的区别
14/11.27-14/11.29 13小时 125 对循环结构进行了巩固复习和总结 当遇到比较复杂的嵌套循环时会出现混乱
15/12.4-15/12.6 15小时 101 函数的声明,调用,参数的传递 函数的调用,数组的定义

3.2 累积代码行和博客字数

时间 博客字数 代码行数
第四周 596 32
第五周 1288 54
第七周 2240 174
第八周 3254 364
第九周 6124 512
第十周 8085 796
第十一周 9625 1030
第十二周 11172 1185
第十三周 14142 1356
第十四周 15742 1567
第十五周 17427 1748

C语言|博客作业11_第8张图片

3.3 学习内容总结和感悟

3.3.1 学习内容总结

C语言|博客作业11_第9张图片

C语言|博客作业11_第10张图片

3.3.2 学习体会

  1. 看到这周的题目第一感觉就是难,同学也基本说不知道怎么做,然后就上网搜资料,一直错,一直错,特别绝望
  2. 做了思维导图,这周的知识点在脑海中有了个大致的框架,但还是很懵,感觉函数好难
  3. 挺担心c语言的考试的,学了一学期了,我感觉没什么大的进步,每次作业做的时候都是非常迷的

你可能感兴趣的:(C语言|博客作业11)