| 这个作业属于那个课程 | C语言程序设计II |
| 这个作业要求在哪里 | C语言I作业11 |
| 我在这个课程的目标是 | 掌握C语言 |
| 这个作业在那个具体方面帮助我实现目标 | 对函数和循环语句的练习 |
| 参考文献 | CSDN |
1.PTA实验作业
1.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数据处理
数据表达:本题用了三个整型变量,r用来存放开平方后的数,m用来计算r的平方,result用来控制返回的数字,保证只有一个return返回,减少出错的可能性;
数据处理:
伪代码
Inout (N); 初始化result r=N的开平方 m=r的平方; if N与m相等; 则使用一个数组 c++; Output(b+c);输出一个字符并空格; m--; while循环结束后令m=a-1;a=a-1;并换行;后再次执行for循环; End。
1.1.2实验代码截图

1.1.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 105 500 | cnt = 6 | 题目的测试样例 |
| 120 999 | cnt = 8 | 随机数 |
| 500 1111 | cnt = 2 | 随机数 |
1.1.4 PTA提交列表及说明

提交列表说明:
1.答案正确:此题一次就过了,但我还是了强制转换等方法也对了。
1.2 统计各位数字之和是5的数
1.2.1 数据处理
数据表达:本题用了五个整型变量,i,j用来实行循环;n为输入的指数;a用来存放2的n次方-1;flag用来看是否有梅森数
数据处理:
伪代码
对a和falg初始化; Inout (n); if(n=1) output(None); for(int i=2;i<=n;i++)输入2到n之间的数 a=pow(2,i)-1; for(int j=2;j<=a/2;j++)输入2到a/2之间的数并用(a%j==0)进行判断是否为素数 if不为素数flag++; if为素数 output(a)并换行; 再重新对falg进行初始化; End
1.2.2 实验代码截图

1.2.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 6 | ![]() |
题目的测试样例 |
| 13 | ![]() |
随机数 |
| 21 | ![]() |
随机数 |
1.2.4 PTA提交列表及说明

提交列表说明:
1.编译错误:失误,少打了个;号。
1.3挑战进阶题:
1.3.1 数据处理
数据表达:本题用了两个整型变量,i用来执行循环,result用来存放i的平方数
数据处理:
伪代码
做一个循环输入数字1到1000; 计算出数字1到1000的每位数的平方; if(result%10==i||result%100==i||result%1000==i)取出右端的数与i作比较,如果与i相等,输出i的值 END
1.3.2 实验代码截图
1.3.3 造测试数据
| 输入数据 | 输出数据 | 说明 |
|---|---|---|
| 无 | 1 | 题目的测试样例 |
1.3.4 PTA提交列表及说明
提交列表说明:
1.答案错误:
2.格式错误:
2.代码互评
同学代码截图
自己代码截图
3.学习总结
3.1 学习进度条
| 周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
|---|---|---|---|---|
| 7 | 10 小时 | 235 | 循环语句for的使用以及格式 | 无 |
| 8 | 8小时 | 197 | 定义全局变量 | 无 |
| 9 | 17小时 | 537 | 函数的调用 | 无 |
| 10 | 16小时 | 411 | 数据类型的回顾 | 无 |
| 11 | 24小时 | 1089 | 数组以及一些算法 | 无 |
| 12 | 8小时 | 453 | 结构体 | 无 |
| 13 | 5小时 | 371 | 冒泡加sort | 无 |
| 14 | 11小时 | 401 | define | 精度的误差 |
3.2 累积代码行和博客字数

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

3.3.2 学习体会
通过姐一元二次方程这道题,我发现我看题还是不过仔细,很粗心的一直没写出这道题,而且一些小的知识点我也不会,就像c语言中由于精确度的问题,实数不能与0进行比较,后续我还有许多需要改进的地方,如认真读题多学习等。


