C语音I博客作业11
问题 | 回答 |
---|---|
这个问题属于哪个课程 | C语言程序设计II |
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/10129 |
我这个课程的目标是 | 能够自主的完成程序的编写以及解决编写过程遇到的困难 |
这个课程可以在哪个具体方面帮助我实现目标 | 完成有定点检测的pta题目 |
参考文献 | C语言程序设计(第3版)、C Prime Plus(第6版)中文版 、百度 |
1.PTA作业
1.1 6-1 统计某类完全平方数
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等
1.1.1 代码截图
1.1.2 提交列表及说明
这题是在网上解决了完全完全平方数中是否有两个相同数字的数据表达,即num[]部分,其中用到了数组的知识。
1.1.3 数据处理
数据表达:定义了num,n,a四个变量,四个变量都是整型变量。
数据处理:使用while循环和if语句来构成循环语句,同时还使用了break语句。
伪代码:
定义 IsTheNumber ( const int N )
{ 定义 num[10]={0};
定义 a=sqrt(N);
定义 n=N;
如果 (a*aN)
{
定义 i;
while(n)
{
i=n%10;
num[i]++;
如果(num[i]2)
{
输出 1;
break;
}
n/=10;
}
}
输出 0;
}
1.1.4 造测数据
输入数据 | 输出样例 | 说明 |
---|---|---|
105 500 | cnt=6 | |
100 523 | cnt=7 |
1.2
题目描述:本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
函数接口定义:
int is( int number );
void count_sum( int a, int b );
函数is判断number的各位数字之和是否等于5,是则返回1,否则返回0。
函数count_sum利用函数is统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数,并计算这些整数的和。最后按照格式
count = 满足条件的整数个数, sum = 这些整数的和
进行输出。题目保证0<a≤b≤10000。
1.2.1 数据处理
数据表达:定义了变量s,t,sum,count,i;都为整型变量。
数据处理:使用了while循环和if-else语句来形成一个循环结构来筛选出各位数字相加为5的数字,再使用for语句和if语句将满足条件的数字相加得到他们的和。
伪代码:
定义 is(定义 n)
{
定义 s=0,t=0;
while(n!=0)
{
t=n除10得余数;
n/=10;
s+=t;
}
如果(s==5)
就输出 1;
否则
就输出 0;
}
void count_sum(定义 a, 定义 b )
{
定义 sum=0,count=0,i;
for循环(i=a;i<=b;i++)
{
如果(is(i))
{
count++;
sum+=i;
}
}
printf("count = %d, sum = %d\n",count,sum);
}
1.2.2 提交列表与说明
在提交至pta前面,有一个小错误,我没有用if(is(i))来返回符合第一个循环的数,而是使用了if(is(1))来返回数,从而导致了无法获得正确的满足条件的数的和。
改正:将1改为i。
1.2.3 代码截图
1.2.4 造测试数据
输入样例 | 输出样例 |
---|---|
104 999 | count = 15, sum = 3720 |
100 1034 | count =19,sum =7790 |
2.代码互评
自己代码 | 同学代码 | 同学代码 |
---|---|---|
比较: |
同:第一个同学的代码全部使用的是完整的语句没有使用任何的缩减方法,让人看起来和舒适;第二位同学的的代码,在一些语句后面增加了注释,使得看起来就会人懂得那些语句想要让电脑明白的含义
异:代码中定义的参数不同。
问题:看了许多同学的代码我发现,我们这一周的代码其实都很相似,最明显的不同也就是代码定义的参数不同了吧。
3.学习总结
3.1 学习进度条
周/时间 | 本周所花 | 重要知识点 |
---|---|---|
第一周/09-20 | 4h+ | 简单打印字句 |
第二周/09-28 | 4.5h+ | 《提问的智慧》 |
第三周/10-08 | 9h+ | if-else语句的使用、数字的定义、分数函数的应用 |
第四周/10-15 | 6h+ | for循环语句及其使用 |
第五周/10-22 | 6h+ | 调用简单函数 |
第六周/10-29 | 7h+ | 分支结构、字符型数据的类型及其输入与输出、逻辑运算符 |
第七周/11-05 | 10h+ | switch语句的调用 |
第八周/11-12 | 9h+ | while语句和do-while语句 |
第九周/11-19 | 11h+ | break语句和continue语句 |
第十周/11-26 | 13h+ | 循环语句的深入使用 |
第十一周/12-03 | 13h+ | 函数的基本概念以及简单的应用 |
3.2 累计代码行与博客字数
3.3 本周学习总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1.本周主要学习了函数,相比以前所学的循环而言函数更加的复杂,要考虑许多东西还要考虑我们所设置的参数属于某种参数。
2.函数中的参数主要分为局部参数、全局参数,在编写时要考虑你所设置的参数的存活时间,这个部分是函数的一个难点,需要花时间去搞懂。
3.这一周的函数在听完之后是雨里雾里的,觉得有些些懂了,但是到了实际操作时又觉得啥也不不会了。