C语言I博客作业09

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-2
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11635
这个作业的目标 回顾总结之前所学知识,学好c语言的基础知识,为之后能更好的学习相关专业知识
学号 20208966

1.PTA实验作业(20分/题)

1.1 题目1

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

1.1.1 数据处理

数据表达:定义了整型b接收各位数,将N赋值给n,数组c用来统计,将开平方数赋值给a
数据处理:利用if判断是否完全平方和while循环将各位数分开并统计
      表达式:int a=sqrt(n);
            b=n%10;
            c[b]++;
            if(c[b]==2)
                return 1;
            n/=10;

1.1.2 实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
122 143 cnt = 0 无完全平方数
145 170 cnt = 0 有一位完全平方数但无至少两位数相同(169)

1.1.4 PTA提交列表及说明

编译错误:定义const常量N具有不可变性,如果不用一个变量接收N,将会显示assignment of read-only parameter ‘N’

1.2 题目2

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

1.2.1 数据处理

数据表达: 在第一个函数里定义了整型a用来接收个位数,s用来接收各位数的和;第二个函数里定义了整型count统计有多少个满足条件的数,sum接收满足条件数的总和
数据处理:第一个函数里用while循环将个位数加起来再用if判断是否和为5;第二个函数用for循环统计个数和总和
      表达式:while(number>0)
    {
        a=number%10;
        number/=10;
        s+=a;
    }

      for(int i=a;i<=b;i++)
    {
        if(is(i))
        {
            count++;
            sum+=i;
        }

1.2.2 实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
14 23 14 is counted. 23 is counted. count = 2, sum = 37 只有14和23符合条件
14 22 14 is counted. count = 1, sum = 14 区间内14满足条件

1.2.4 PTA提交列表及说明

答案错误:最后输出结果count和sum之间没有逗号隔开

2.代码互评(5分)

同学代码截图

1.

2.

自己代码截图

对比:第一位同学与我的基本思路相同,他还使用了flag标识并作为返回值
第二位同学的代码运用了switch-case,更为详细也容易让人理解

3.学习总结(15分)

3.1 学习进度条(5分)

3.2 累积代码行和博客字数(5分)

3.3 学习内容总结和感悟(5分)

3.3.1 学习内容总结

3.3.2 学习体会

1.这一周感觉过的比较忙碌,一周下来收获东西较少,复习偏多,东忙西忙最后感觉什么都没有做。
2.这个学期也接近尾声了,前一段时间对数学和英语没有太上心,后面复习要合理安排各科之间学习时间。
3.c语言也学了这么久了,但还是感觉自己只摸到了一点皮毛而已,希望能在后面的时间里能顺利入门。

原文地址:https://www.cnblogs.com/kj0401/p/14162391.html