C语言I作业11

问题 答案
这个作业属于哪个课程 C语言程序设计II
博客作业的要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-3/homework/10130
我在这个课的目标是 学习函数和运用定义函数
这个作业在哪具体方面帮助我实现目标 对编译语法更了解
参考文献 C语言程序设计,百度

1 PTA实验作业

1.1 6-1 统计某类完全平方数

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

1.1.1 数据处理

数据表达:使用整型变量a,m,i,n和数组num[10],n初始值为N,m,i是运算需要的变量,数组初始值为0
数据处理:伪代码 
int IsTheNumber ( const int N )                                  /*定义函数IsTheNumber*/
int a,m,i,num[10] ← {0},n ← N                                   /*定义四个整型变量m,a,i,n,和数组num[10],且n赋值为N,每个数组初始值为0*/
if(m==n)                                                         /*判断m是否等于n*/
for n to 0                                                       /*嵌套循环,外层循环,n变化至0,跳出循环*/
for  i ← 0  to  9                                                /*内层循环,i赋值0,递增至9,跳出循环*/
if(n%10==i)                                                      /*判断n%10是否等于i*/
if(num[i]==2)                                                    /*判断数组值是否等于2*/

1.1.2 实验代码截图

C语言I作业11_第1张图片

1.1.3 造测试数据

输入数据 输出数据 说明
105 500 cnt = 6 输出正确,代码正确
141 146 cnt = 1 输出正确,代码正确
671 680 cnt = 1 输出正确,代码正确

1.1.4 PTA提交列表及说明

提交说明:答案错误,数组的初始值赋值1,错误了,和没有弄清楚const的意义是不能变 

2.1 6-2 统计各位数字之和是5的数

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

2.1.1 数据处理

数据表达:整型变量m,number,i,sum,count,都是定义函数里的变量
数据处理:伪代码
int is( int number )                     /*定义函数is*/
int m=0,n=number                         /*定义两个整型变量n,m,且m赋值0,n赋值number*/
for(;n>0;n=n/10)                         /*for循环,每次循环结束n赋值为n/10,至n小于0,跳出循环*/
m+=n%10                                  /*循环内容:m等于m加n%10*/
if(m==5)                                 /*判断m是否等于5,是就运行下一步*/
return 1                                 /*返回1*/
return 0                                 /*返回0*/
void count_sum( int a, int b )           /*定义函数count_sum*/
int i,sum=0,count=0                      /*定义三个整型变量i,sun,count,且sum赋值0,count赋值0*/
for(i=a;i<=b;i++)                        /*for循环,i赋值为a,每次循环结束i的值加1,至i大于b,跳出循环*/
if(is(i))                                /*判断函数is(i)的返回值*/
count++    sum+=i                        /*返回1时count加1,sum加每次i的值*/
printf("count = %d, sum = %d",count,sum) /*循环结束后输出结果*/            

2.1.2 实验代码截图

C语言I作业11_第2张图片

2.1.3 造测试数据

输入数据 输出数据 说明
104 999 104 is counted.count = 15, sum = 3720 输出正确,代码正确
458 758 count = 1, sum = 500 输出正确,代码正确
122 489 122 is counted.count = 12, sum = 3003 输出正确,代码正确

2.1.4 PTA提交列表及说明

提交说明:格式错误:在第二个定义函数里,输出时未注意逗号后需要空格

2 代码互评

同学代码(1)

C语言I作业11_第3张图片

同学代码(2)

C语言I作业11_第4张图片

自己代码

C语言I作业11_第5张图片

(1)该同学的循环结构与我有很大不同,我选用了for循环的嵌套,而他是while循环,而且我的循环在if语句里面的
(2)该同学在判断是否有重复数字时是直接用值的每个数组来给数组命名的,参与运算,而我还用了if语句来判断是否进行运算,他的更显简单

3.学习总结

3.1 学习进度条

这周所花时间 代码行数 学到的知识点简介 目前比较迷惑的问题
第一周 2天 27 学会了一些基础的代码 如何正确自己打代码
第二周 2天 58 学会了改变编码的环境 如何正确自己打代码
第三周 2天 87 学会了几个复杂点的代码 如何正确自己打代码
第四周 2天 126 知道了for循环的简单使用 字符所需的特殊标识的区分
第五周 2天 85 会使用定义函数和调用 对于C语言里的一些单词的含义不够清晰
第六周 6天 158 会使用if语句的嵌套 对于C语言里的一些符号的含义和ASCII码集不够清晰
第七周 2天 145 会使用switch语句 对于switch语句的灵活度不够
第八周 3天 124 会使用do while循环 不能准确的打出自己的代码
第九周 2天 137 会使用for循环嵌套 对于以前的错误,再一次犯了
第十周 4天 154 对循环的一些知识点进行了复习 对于一些符号运用总是出错
第十一周 3天 94 学习函数和运用定义函数 对于定义函数的类型有点模糊

3.2 累积代码行和博客字数

C语言I作业11_第6张图片

3.3 学习内容总结和感悟

3.3.1 学习内容总结

C语言I作业11_第7张图片

3.3.2 学习体会

感觉学习函数代码像进入了一个新地图,需要的代码量变大了好多,需要更多时间和精力了,在作业里也有时候需要一些老师没说过的知识,这些知识需要自己去学习,慢慢努力

你可能感兴趣的:(C语言I作业11)