这个作业属于哪个课程 | 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语言也学了这么久了,但还是感觉自己只摸到了一点皮毛而已,希望能在后面的时间里能顺利入门。