C语言I博客作业09
作业头
这个作业属于哪个课程 | C语言I博客作业09 |
---|---|
这个作业要求在哪里 | |
这个作业的目标 | |
学号 |
1.PTA实验作业
1.1 统计某类完全平方数
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
1.1.1数据处理
数据表达:用了n,t,i,num,a,flag变量,a,flag的值是赋值上去的,其他则是运算,类型都是整型。
数据处理:数据用到的表达式和流程结构如下:
if(t*t == n)
{while(n!=0){num=n%10;a[num]++;n=n/10;}
for(i=0;i<10;i++){if(a[i]>=2) {flag=1;return 1;
if(flag==0) return 0;
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
105 500 | cnt = 6 | 题目样例 |
144 169 | cnt = 1 | 12^2 和 13^2 |
996 997 | cnt = 1 | 不是分别两数的平方 |
1.1.4 PTA提交列表及说明
1.编译错误:一开始没有返回return 0;
2.答案错误:if(flag==0)一句中条件错误
3.答案错误:t=(int)sqrt(n)处函数调用错误
1.2统计各位数字之和是5的数
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.2.1数据处理
数据表达:用了x,j变量,j值是赋值来的,x=x+j,类型是整型。
数据处理:数据用到的表达式和流程结构:
while(number != 0)
j = number%10;
x = x+j;
number=number/10;
if(x == 5)
return 1;
for(n = a;n<=b;n++)
if(is(n))
count++;
sum = sum+n;
1.2.2实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
104 999 | 104 is counted.count = 15, sum = 3720 | 题目样例 |
999 666 | count = 0, sum = 0 | 999>666 |
88999 99999 | count = 0, sum = 0 | 均>10000 |
1.2.4 PTA提交列表及说明
1.答案错误:printf("count = %d, sum = %d\n",count,sum);一句中整形的%d没有对应
2.部分错误:return 1;中没有返回1而是0
2.代码互评
同学1的代码
同学2的代码
自己的代码
1.同学1在if外就把函数关系确定了,之后再进行if嵌套,这样会使得代码比较简洁
2.同学2在if里面嵌套了while,然后嵌套了嵌套for的一个for循环结构
3.自己数据表达:用了x,j变量,j值是赋值来的,x=x+j,类型是整型数据处理用到的表达式和流程结构:
while(number != 0)
j = number%10;
x = x+j;
number=number/10;
if(x == 5)
return 1;
for(n = a;n<=b;n++)
if(is(n))
count++;
sum = sum+n;
3.学习总结
3.1 学习进度条
周/日期|这周所花的时间|代码行|学到的知识点简介|目前比较迷惑的问题
:--😐:--😐:--😐:--😐:--😐:--:
第一周|3h|23|printf|各种符号所代表的含义
第二周|2h|11|int|整型浮点型的异同
第三周|2h|56|if-else|if-else格式
第四周|3h|119|for|部分函数如何用代码表达
第五周|4h|124|#include<math.h>|如何调试
第六周|6h|146|if-else,逻辑运算符|e++为什么不能逐个用e+1表示
第七周|5h|135|switch|除了if-else和switch还有没有其他分支结构
第八周|5h|139|do-while|对于while和do-while使用的情况还不是太了解
第九周|6h|144|break、continue|对于循环结构的各种情况还不是很熟悉,不知道什么时候该用什么
第十周|6h|156|各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型|对于这些专有名词比较混乱,不懂为什么要这么叫?比如嵌套,我更愿意称之为套娃
3.2 累积代码行和博客字数
时间 | 博客字数 | 代码行数 |
---|---|---|
第一周 | 1204 | 23 |
第二周 | 265 | 11 |
第三周 | 570 | 56 |
第四周 | 743 | 119 |
第五周 | 563 | 124 |
第六周 | 865 | 146 |
第七周 | 776 | 135 |
第八周 | 969 | 139 |
第九周 | 1013 | 144 |
第十周 | 1159 | 156 |
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1.这周学习了各种类型函数的定义、调用和申明,感觉代码所说的函数的数学上学的函数有很大区别,不是那种y=f(x)的形式,有时候理解起来就总感觉怪怪的
2.这周的PTA很难,我是请教了我们寝室的dalao才完成的,总感觉我们每一次的作业都是超纲的,希望老师以后可以这样分,基础作业题必做+提升训练选做这样的形式
3.不知不觉都已经到学期末了,这周开始可不能再贪玩了,之前很多落下的都得补回来,希望自己大学第一个学期不挂科,加油