问题 | 答案 |
---|---|
这个作业属于那个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10127 |
我在这个课程的目标是 | 熟练用C语言编程 |
这个作业在那个具体方面帮助我实现目标 | 各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型 |
参考文献 | 百度 |
四、作业格式
1.PTA实验作业(20分/题)
请再此处列出自己的排名图片,如:
从PTA题目集中选出2个你最满意的题目完成以下内容,选择题目难度越大,分值越高,每题20分(每项5分),内容要求如下:
1.1 题目名16-1 统计某类完全平方数 (20分)
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
函数接口定义:
int IsTheNumber ( const int N );
其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。
裁判测试程序样例:
include <stdio.h>
include <math.h>
int IsTheNumber ( const int N );
int main()
{
int n1, n2, i, cnt;
scanf("%d %d", &n1, &n2);
cnt = 0;
for ( i=n1; i<=n2; i++ ) {
if ( IsTheNumber(i) )
cnt++;
}
printf("cnt = %d\n", cnt);
return 0;
}
1.1.1数据处理
介绍实现本题过程中,你的数据表达、数据处理是怎么做的。注意:请务必按照以下方式书写。
数据表达:用了哪些变量,这些变量的值是怎么来的,类型是什么。
数据处理:数据用到的表达式和流程结构。请用伪代码表示。
数据表达:变量n i k N,这些变量的值是由int定义来的,类型是整点型变量。
数据处理:表达式 m = i * i;m == N int k = 0; k < div; k++n % 10 == k if-else while for循环
伪代码
先把接头打出
然后给出所有变量。
再根据各个条件,通过if while for语句。判定条件满足与否
然后用多个if循环对条件进行细分。
然后再用return 1 再次循环返回上层。
最后再输出格式。
最后在return 0。
1.1.2实验代码截图
1.1.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
105 500 | cnt = 6 | 用户输入的数中有6个满足条件 |
11 12 | cnt = 0 | 用户输入的数中有0个满足条件 |
16 100 | cnt = 0 | 用户输入的数中有1个满足条件 |
1.1.4 PTA提交列表及说明
提交列表说明:有部分错误是在c++中,并在此一一列出。
答案错误 不理解该输出的顺序。最终在最后return 0这里出现了问题。我本想为return 1。
编译错误 在接头定义时出现问题。与上面的定义不符。大小写问题。
答案错误 k的起始值定义错误。
答案错误 本来需要取余的。结果把百分号写成了&
部分错误 在最后一个if中出现了问题 ==少写了一个=
1.2 题目2
6-2 统计各位数字之和是5的数 (20分)
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
函数接口定义:
int is( int number );
void count_sum( int a, int b );
1.2.1 数据处理
数据表达:用了哪些变量,这些变量的值是怎么来的,类型是什么。
数据处理:数据用到的表达式和流程结构。请用伪代码表示。
数据表达:用了x i b a sum number变量,这些变量由int定义来的,类型是整点型。
数据处理:数据用到的表达式 sum += x % 10;x /= 10;i <= b; i++ count++;sum += i;流程结构为if-else for while循环结构
伪代码
通过接口处进行接int is (int number)
根据条件用while判断满足条件的数
然后再用for循环,把每一个数都判断出来,最后储存。
然后在输出格式。
最后返回上层打印出来。
1.2.2 实验代码截图
1.2.3 造测试数据
输入 | 输出 | 说明 |
---|---|---|
104 999 | ![]() |
有15个满足条件的数 |
100 1000 | ![]() |
有15个满足条件的数 |
1 1000 | ![]() |
有21个满足条件的数 |
1.2.4 PTA提交列表及说明
特别说明,有部分错误在c++中,并在此一一列出。
编译错误 While循环语句中出现问题。x/=10错误。
答案错误 也同样是在个这个while循环中。本来是要写return 1的写为return 0了。不明确循环的目的。
答案错误 count自增时出现问题。后面的分号忘记打了。
编译错误 Print最后输出时少了一个分号。
2.代码互评(5分)
找2份同学代码,和自己代码比较,建议互评代码尽量找代码风格差异较大。
同学代码截图
自己代码截图
if else for循环语句中条件不同。在比较时输出也不同。
在判断一个整数是完全平方数时。判断条件的顺序不尽相同。
for (int k = 0; k < div; k++)
同学代码截图
自己代码截图
在这个for语句中。在对i进行赋值时,出现了不同。
在写sum=sum+i时其实意义是相同的。也并没有什么更高级之分。不过也就那样。
3.学习总结(15分)
3.1 学习进度条(5分)
日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的地方 |
---|---|---|---|---|
9/16~9/22 | 两天 | 30 | 在屏幕上显示hello Word! | 编程操作 |
9/23~9/30 | 两天半 | 100 | 求华氏温度对应的摄氏温度 | 运算符不理解 |
10/7~10/12 | 四天 | 240 | 计算分段函数 | 不理解为什么要那样打,有些东西代表的含义 |
10/14~10/18 | 8个小时 | 310 | 使用for循环语句实现指定次数的循环程序设计 | 还是有很多代码,不知道什么意思,为什么要这么打? |
10/23~10/26 | 10小时 | 420 | 生成乘方表和阶乘表,对函数的定义和调用有初步的认识,能模仿编程 | 部分运算符的运算顺序。 |
10/28~11/02 | 八个小时 | 640 | 熟悉分支结构,字符型数据类型和逻辑运算符 | 分支结构的类型。运算逻辑符的运算顺序 |
11/5~11/8 | 6个小时 | 740 | 写伪代码 使用switch语句 | 部分使用条件 |
11/12~11/16 | 8小时 | 830 | 使用while和do-while结构解决问题 | 嵌套关系与顺序 |
11/20~11/22 | 6小时 | 1020 | 熟悉使用循环的嵌套解决问题 | 嵌套关系与顺序 |
11/27~11/29 | 6小时 | 1200 | 能够根据实际情况,选择合适的算法、合理的循环结构,熟练的编写程序 | 不知如何选择合适的算法,部分算法不理解 |
12/4~12/6 | 5小时 | 1304 | 掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型 | 不怎么熟悉变量的作用域、生存周期和存储类型 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会||
我真的不知道说什么好了。我懂得C语言之所以衰败的缘由了。沉默和沉默呵,不在沉默中爆发,就在沉默中灭亡。总需要人在前面做铺垫。才能成就美好的未来。为了使老师能够更好地了解我们,我们必须给他一点颜色。老师你真的把我们当神仙了是吗?您真的认为我们这么优秀吗?如果你真的这么想的话,那你就大错特错了。我在这里仅代表我个人,让你能够更加清楚的了解到我们。其实我们就是菜鸟。可能连菜鸟都算不上我。好的,我的学习体会就这么多了。