这个作业属于那个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | http://edu.cnblogs.com/campus/zswxy/SE2019-2/homework/10127 |
我在这个课程的目标是 | 弄懂函数的定义与使用 |
这个作业在那个具体方面帮助我实现目标 | PTA作业方面 |
参考文献 | c语言programmer |
1.1 题目名1 | |
题目内容描述:6-1 统计某类完全平方数 (20分) | |
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。 |
1.1.1数据处理
数据表达:用了i,n,temp整型变量
数据处理:int IsTheNumber ( const int N )
{
int i = 0, n = N, temp; // N 是静态定义,所以用 n 来保存 N 的值
int a[10] = {0}; // 数组用来记录数位上的数是否出现过
while (1)
{
if (ii > N) return 0; // 当 ii 大于 N 就说明 N 不是平方数,返回0
if (i*i == N) break; // 是平方数,结束循环
i ++;
}
while (n != 0)
{
temp = n%10; // 获取当前位上的数
if (a[temp]) return 1; // 已被置为1,说明出现一样的数,返回1
else a[temp] = 1; // 没出现过,将该位置1
n /= 10;
}
return 0;
}
1.1.2实验代码截图
贴图展示代码,不要复制。请给出名字标识。
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
12000 56000 | 82 | 比较大的数 |
0 10 | 0 | 比较小的数 |
1.1.4 PTA提交列表及说明
编译错误:第四行忘打“;”
编译错误:不清楚哪里错了放dev.sc++里调试后是忘了返回1
1.2 题目2
6-2 统计各位数字之和是5的数 (20分)
本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。
1.2.1 数据处理
数据表达:用了i,n,temp整型变量
数据处理:
int is(int number)
{
int c,d;/定义变量/
int sum=0;
while(number!=0) /判断number是否等于/
{
c=number%10;/取number各位数/
sum=sum+c;/累加/
number=number/10;/为取后一个数字做准备/
}
if(sum==5) /判断各位数相加是否为5/
{
return 1;/返回1/
}
else
{
return 0;/返回0/
}
}
void count_sum( int a, int b )
{
int i;/定义变量/
int sum1=0;
int count=0;
for(i=a; i<=b; i++)
{
if(is(i)) /利用函数is统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数,并计算这些整数的和/
{
count++;/累加*/
sum1=sum1+i;
}
}
printf("count = %d, sum = %d",count,sum1);
}
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
123 987 | 比较大的数 | |
1 100 | 比较小的数 |
1.2.4 PTA提交列表及说明
编译错误:我按自己的想法打了一遍,结果错误太多,惨不忍睹。
编译错误:前一位取余后number要除10为下一位取余做准备
编译错误:未统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数
2.代码互评(5分)
同学代码截图
自己代码截图
1.我与同学的大同小异
2.我觉得我比同学得要差一些,同学的进行了定义域的判断,我没有。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
10/9~10/12 | 21h | 121行 | 学会怎样使用浮点型函数及整数型函数,和一些关于c语言的语法 | 总是不清楚自己到底错在那个地方。 |
10/16~10/18 | 31h | 136行 | 学会怎么样使用for函数,学会了怎么样去说明自己的错误 | 自己对于for语句理解不到位,不清楚它的表达式。 |
10/22~10/26 | 18h | 96行 | 我们学习了怎么使用思维导图 | 函数的定义,调用自己还有很多不清楚,就比如实参,等我都没有搞清楚。 |
10/30~11/02 | 19h | 145行 | 学会使用分支结构,for与if的连用,以及逻辑运算符的使用,字符型数据 | 有一些结构不熟悉。 |
11/06~11/08 | 14h | 130行 | 学习了switch语句的使用,学会了多分支结构 | 自己对于switch语句不是好熟悉,还要学习,对于多分支结构自己会if,for的插入。 |
11/13~11/16 | 16h | 120行 | 我学习了while结构和do while结构的用法,前面一个先判断在循环。 | 自己还是对于while后面括号里的条件不懂。 |
11/19~11/22 | 26h | 125行 | 我学习了我们熟悉了break语句,continue语句,以及循环语句的嵌套,学会了怎么进行for嵌套的调试 | 自己不会用continue语句,希望学会更多 |
11/27~11/29 | 20h | 110行 | 我们没有进行新知识的学习,我们把循环复习了感觉PTA的题目现在都是循环嵌套 | 自己这次作业比上几次好 |
12/4~21/6 | 12h | 105行函数的定义与使用 | 没弄懂局部,全部,外部变量的关系 | |
3.2 累积代码行和博客字数(5分) | ||||
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2学习体会
我感觉自己好没用,写一个题要费好长时间,而且还写不对