C语言|博客作业09

这个作业属于哪个课程 C语言程序设计II
这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11635
这个作业的目标 掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型
学号 20208987

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

1.1. 统计各位数字之和是5的数 (20分)

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

数据表达:使用了变量 函数整型a,b;函数整型number;整型n,s,a,c,sum;n是转换代替mumer;s是判断个个位数之和是否为5;a是各个位数的数值;c是给定范围内符合要求的个数;sum是给定范围内符合要求的个数之和。

数据处理: 表达式: a = n % 10,n = n / 10;
          流程结构:一共使用了三个函数,一个主函数,两个副函数,两个副函数的主要作用分别是:
         ‘int is( int number );’:判断number的各位数字之和是否等于5,是则返回1,否则返回0。
         ‘void count_sum( int a, int b );’:利用函数is统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数,并计算这些整数的和。
         

1.1.2 实验代码截图

1.1.3 造测试数据

1.1.4 PTA提交列表及说明

答案错误:在VS里面没有将题目的格式处理好就提交了。
编译错误:在while语句中,循环时括号错误。

1.2统计某类完全平方数 (20分)

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

数据表达:定义了 整型变量 M,i,j,数组a[10],x,m,n;M用来转换变量N即输入的数,i是多余的(提交时忘了删),j是用来初始化并与a[10]记录有多少余数的,x转换sqrt(N),n,m是循环判断有没有相同的的位数。
数据处理:  表达式:a[j++]=M%10,M=M/10,x*x==N;
           流程结构:先做好前期准备,x是N开平方后的值。再循环记录各位数。再循环判断是否位数有相同的。最后再判断可不可以开平方。

1.2.2 实验代码截图

1.2.3 造测试数据

1.2.4 PTA提交列表及说明

部分正确:没有将a[j]=M加上去,开始以为没必要,其实这是要用来储存最后一位数的
部分正确:开始时a[j++]是a[j]没有用来记录,储存数的作用。

2.代码互评(5分)

同学代码截图1.


同学代码截图2.

自己代码截图:

1.第一位同学主要的区别还是同学用了函数,而我是用的while循环来输入棱形的组数,我的更加简单,方便。同学的更高层次,可以应对更多的情况。
2.总的棱形的输出都是差不多的,都用了细节getchar()消掉最后的回车。
3.第二位同学的将一些小细节,一些转换直接套用,我的是分开要一步步来,我的更详细,同学的更熟练。

3.学习总结(15分)

3.1 学习进度条(5分)


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

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

3.3.1 学习内容总结
本周学习了各种类型函数的定义、调用和申明,以及变量的作用域、生存周期和存储类型

3.3.2 学习体会
1.这次pta作业太难了,一个人自己去做简直难的怀疑人生.
2.通过自己的摸索虽然不能完全搞懂,但收获还是挺大滴嘛.
3.遇到难题一定要冷静冷静,克服这种问题.提高思维能力.
4.在做完题目后还是应该多找些方法,看是否还有别的解题过程.
5.和他人交流也是很重要的,加油少年.

原文地址:https://www.cnblogs.com/xiaoxinya/p/14168578.html