| 问题 | 答案 |
|---|---|
| 这个作业属于哪个课程 | C语言程序设计Ⅱ |
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2019-2/homework/10131 |
| 我在这个课程的目标是 | 掌握C语言,并熟练操作。 |
| 这个作业在那个具体方面帮助我实现目标 | 完成pta作业,进一步了解各种函数的定义 |
| 参考文献 | 百度百科,伪代码,CSDN |
1.PTA实验作业
1.1 6-1 统计某类完全平方数
本题要求实现一个函数,判断任一给定整数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;
}
/* 你的代码将被嵌在这里 */
输入样例:
105 500
输出样例:
cnt = 6
1.1.1数据处理
数据表达:
定义n,m,i三个变量与一个含有10个数的数组a,运用if,while语句进行表达。
数据处理:
Begin
int n←(int)sqrt(N*1.0),m←n*n;
if{
int a[10]←{0}
while{
int i←m%10;
a[i]++;
if(a[i]==2)
return 1;
m←m/10;
}
}
return 0;
1.1.2实验代码贴图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 200 700 | cnt=5 | 随机数据 |
| 100 900 | cnt=9 | 随机数据 |
| 500 999 | cnt=2 | 随机数据 |
1.1.4 PTA提交列表及说明

答案错误:定义n时表达式中未用1.0
答案错误:while循环结构中一个表达式写错了
1.2 6-2 统计各位数字之和是5的数
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于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。
裁判测试程序样例:
#include <stdio.h>
int is( int number );
void count_sum( int a, int b );
int main()
{
int a, b;
scanf("%d %d", &a, &b);
if (is(a)) printf("%d is counted.\n", a);
if (is(b)) printf("%d is counted.\n", b);
count_sum(a, b);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
104 999
输出样例:
104 is counted. count = 15, sum = 3720
1.2.1 数据处理
数据表达:
定义
数据处理:
1.2.2 实验代码截图


1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 200 2000 | count = 25 sum = 20330 | 随机数据 |
| 300 5000 | ![]() |
随机数据 |
| 300 6000 | count = 41 sum = 76129 | 随机数据 |
1.2.4 PTA提交列表及说明

编译错误:不等于符号写成了一个‘!’
编译错误:输出结果的格式错误
2.代码互评
2.1题目6-1
2.1.1自己代码
2.1.2同学代码
不同之处:
3.学习总结
3.1 学习进度条
| 周/日期 | 这周所花时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 第五周 | 3h | 30 | 简单的代码编写,Markdown语法的学习 | 无 |
| 第六周 | 4h | 40 | 温度的转换 | 无 |
| 第七周 | 7h | 83 | if-else语句,计算简单函数 | 做题的时候对题目理解的不够彻底 |
| 第八周 | 15h | 79 | for循环型语句,编译简单循环型题目 | 无 |
| 第九周 | 9h | 110 | 函数的调用和定义一个新函数 | 定义新函数还是有点不太熟练 |
| 第十周 | 20h | 130 | 分支结构运用,逻辑运算符和字符型数据 | 无 |
| 第十一周 | 24h | 130 | switch语句的使用 | 写作业时还是遇到了一点麻烦 |
| 第十二周 | 27h | 150 | while语句和do-while语句的运用 | 到底什么时候该用那种语句 |
| 第十三周 | 30h | 160 | continue语句,以及循环的嵌套 | 对于嵌套问题还是有些不会 |
| 第十四周 | 24h | 150 | 认知了穷举法,简单循环结构使用 | 复杂的循环问题弄不来 |
| 第十五周 | 24h | 160 | 加深对函数的定义方法 | 自己定义新函数时不太熟练 |
3.2 累积代码行和博客字数

3.3 学习内容总结和感悟
3.3.1 学习内容总结

3.3.2 学习体会
前期我们接触过函数的调用,这次我们学习了函数的定义,更加的完善,但是也越来越复杂。随着期末临近,也开始有点急躁,担心这担心那。 还是得放平心态,这样学习效率也会大幅度提升。也不至于浑浑噩噩,没学什么东西。端正心态,继续加油!
