c语言程序设计 | 2020级计算机3班 |
---|---|
作业要求 | 作业要求 |
课程的目标 | 掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型 |
这个作业在哪个具体方面帮助我实现目标 | PTA作业练习,代码比较,学习内容总使用 |
参考文献 | C语言程序设计 |
学号 | 20209025 |
.1PTA实验作业
1.1 统计某类完全平方数 (20分)
本题要求实现一个函数,判断任一给定整数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
", cnt);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
105 500
输出样例:
cnt = 6
1.1.1数据处理
介绍实现本题过程中,你的数据表达、数据处理是怎么做的。注意:请务必按照以下方式书写。
数据表达:整形变量 const int N ;
x=sqrt(N);
A,b;
数据处理:if(A==N){
int a[100]={0};
while(A>0){
b=A%10;
a[b]=a[b]+1;
if(a[b]>=2)
return 1;
A/=10;
1.1.2实验代码截图
贴图展示代码,不要复制。请给出名字标识。
1.1.3 造测试数据
输出你的程序面向各种测试数据结果,除了题目给出的测试数据,可以自己再造其他临界数据,越多越好,并加上必要说明
输入数据 | 输出数据 | 说明 |
---|---|---|
105 500 | cnt=6 | 三位数 |
3333 4444 | cnt=5 | 四位数 |
-3 -9 | cnt=0 | 负数 |
1.1.4 PTA提交列表及说明
说明:.1出现编译错误的原因是英文单词写错,把sqrt写成了squrt,
1.2统计各位数字之和是5的数 (20分)
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于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 数据处理
数据表达:整形变量:int number
int sum = 0;
int a, int b
数据处理:if-else语句
while语句
1.2.2 实验代码截图
1.2.3造测试数据
| 输入数据 | 输出数据 |
| ---- | ---- | ---- |
| 104 999 | 104 is counted.count = 15, sum = 3720 |
| 5 888 | 5 is counted.count = 21, sum = 3885 |
1.2.4 PTA提交列表及说明
说明:.1格式错误,在输出的时候没有注意格式,最后的输出结果之间没有打空格符。
2.代码互评
同学一:
同学二
自己代码截图:
不同之处:
.1同学一的代码很简洁,比起我的更简单,更容易让人理解。
.2同学二用的方法与我的一样,就是表达式不同。
3.学习总结
3.1
周/日期 | 这周所花的时间 | 代码行 | 所学到的知识点 |
---|---|---|---|
第一周 | 6小时 | 27行 | Hello World!代码 |
第二周 | 6.7小时 | 76行 | 常量,变量等数据类型 |
第三周 | 8小时 | 154行 | if-else语句和for循环语句的使用 |
第四周 | 9小时 | 160行 | 调用与自定义函数 |
第五周 | 6小时 | 157行 | else-if多分支结构 |
第六周 | 7小时 | 240行 | switch多分支结构的使用 |
第七周 | 8小时 | 314行 | while和do-while语句的使用 |
第八周 | 7小时 | 327行 | break和continue语句的使用 |
第九周 | 7小时 | 334行 | 学习各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
.1老师讲的时候听得懂,但是自己做的时候还是做不出,感觉不够熟练,映象还不是很深,也不是很能灵活应用。