这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-1/homework/10128 |
我在这个课程的目标是 | 学会最基础的语言,方便以后学习其他语言,做个优秀的程序员 |
这个作业在那个具体方面帮助我实现目 | 读懂代码 |
参考文献 | C语言程序设计,网上 |
1.PTA实验作业
1.1“6-1 统计某类完全平方数”
题目内容:本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
1.1.1”数据处理“
首先定义n=N,b表示数组中的数字且b要等于某一位的数字,存放的空间与某一位的数加1后相同,M表示某个数开方后的整数部分的平方,用m表示某个开方后的整数部分,定义一个数组且长度为10,且值都为0;
用if语句判断它符不符合完全平方数的定义,如果符合就执行下面的while语句;
对输入的n进行判断,n!=0时执行,用b表示某位上的数,fab[b]++表示数组中b所在的一格自加,它的值表示有几位相同的数,再用n/=10取下一位数进行判断;
判断位数相同的个数并存放在数组中后,用for语句将0到9中出现相同的位数且相同的个数>1的,即满足条件的,按照题目要求返回值为1;
1.1.2“实验代码截图”
1.1.3“造测试数据”
输入数据 | 输出数据 |
---|---|
105 500 | |
1 4 | |
100 600 |
1.1.4“PTA提交列表”
1.编译错误:将裁判测试程序样例也放进去了,加上一开始不会用数组多次尝试导致编译错误。
1.2“6-2 统计各位数字之和是5的数“
题目内容:本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.2.1”数据处理“
首先调用第一个函数,定义N=number,定义suma用来求各位数之和,先对suma初始化即令它等于0,定义一个k用来表示所取的某位上的数;
通过while语句来求位数之和,再通过if-else语句判断它是否等于5,如果是就返回1,不是就返回0;
第二个调用函数,首先定义count=0,sum=0;并定义i来表示区间a到b中的某个数,并通过for语句把区间中的每个整数进行下面的判断;
对区间中的每一个整数,用if语句来判断是否符合第一个调用函数的条件,并用count来表示满足条件的数的个数,用sum来求这些整数的和;
最后输出count和sum.
1.2.2“实验代码截图”
1.2.3“造测试数据”
输入数据 | 输出数据 |
---|---|
104 999 | |
200 1200 | |
500 1300 |
1.2.4“PTA提交列表”
1。编译错误:一开始用的是for语句而不是while,出现编译错误后发现for语句中的条件出现了没有定义的字母;
2.答案错误:判断某个数是否符合各位数之和为5,且第二个调用函数中for语句没有表示区间而加了一个错误的条件;
3.运行超时:第一个调用函数中开始使用的是for语句且for语句中第二个条件用错造成超时;
4.答案错误:将第一个调用函数中的for语句换成while语句,结果第一个调用函数正确。第二个调用函数条件表示错误;
5.格式错误:count = %d,sum = %d中,后面没有空格。
2.“代码互评”
第一个是同学的作业,第二个是我的作业。
1.他的代码中没有用到数组,而是分别通过对每一位的数与其他位进行比较若相等就返回1;
2.我用到了数组,即某个空间中存放的个数即各位数相等的数的个数;
3“学习总结”
3.1“学习进度条”
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
第十五周 | 12.04~12.06 | 3天 | 200行左右 | 数组的应用,函数的调用 |
3.2“累积代码行和博客字数”
3.3“学习内容总结和感悟”
3.3.1 ”学习内容总结“
3.3.2 “学习体会”
学会了基本的函数调用,并复习了前面所学的循环结构和分支结构,在此基础上熟悉了一维数组的使用,能力得到了提高。