C语言I博客作业09
作业头
这个作业属于哪个课程 | C语言程序设计II |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11637 |
这个作业的目标 | 熟悉并掌握自定义函数的用法 |
这个作业在那个具体方面帮助我实现目标 | 精选的PTA题目和博客中代码之间的对比 |
参考文献 | 《C语言程序与设计》,百度 |
学号 | 20209057 |
1.PTA实验作业(20分/题)
1.1 统计某类完全平方数
本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
函数接口定义:
int IsTheNumber ( const int N );
其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。
数据表达:用了a,b,c,d,e,f等整形变量来表示相关数据;
数据处理:定义四个整形变量a=N%10;b=(N/10)%10;c=(N/100)%10;d=(N/1000)%10;
完全平方数e*eN,两位数字相同if(ab)if(ac)if(ad)if(bc)if(bd)if(c==d){num++;}
1.1.2实验代码截图
1.1.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
105 500 | cnt = 6 | 题目原数据 |
99 405 | cnt=5 | 测试数据 |
1.1.4 PTA提交列表及说明
错误点:这个return。。。。有点懵,不太理解它的意思。
解决方法:根据提示信息(好像没什么用),找了好多同学帮忙(头疼),最后还是没怎么理解。。。
1.2 解一元二次方程
1.2.1 数据处理
数据表达:定义了浮点型a,b,c,s,x,x1,x2,m,n;
数据处理:表达式:if(a0&&b0&&c0){printf("无穷多解");}else if(a0&&b0){printf("无解");}else if(a0){printf("x = %.1g",fabs(-c/b));}else{if(bb-4ac>0.00000001){x1=(-b+sqrt(bb-4ac))/(2a);x2=(-b-sqrt(bb-4ac))/(2a);printf("x1 = %g, x2 = %g",fabs(x1),x2);}else if(bb-4ac >=-0.00000001&&bb-4ac<0.00000001){x1=x2=(-b)/(2a);printf("x1 = x2 = %g",fabs(x1));}else{ m=(-b)/(2a);n=fabs(sqrt(4ac-bb)/(2*a));printf("x1 = %g+%gi, x2 = %g-%gi",fabs(m),n,fabs(m),n);}
1.2.2 实验代码截图
1.2.3 造测试数据
输入数据 | 输出数据 | 说明 |
---|---|---|
0 4.5 -3.6 | x = 0.8 | 题目原数据 |
0 2.8 0 | x = 0 | 题目原数据 |
0 0 3.6 | 无解 | 题目原数据 |
0 0 0 | 无穷多解 | 题目原数据 |
1.2.4 PTA提交列表及说明
错误点:结果变成了负数,还有测试的时候调到虚数测试点了。
解决方法:找同学帮忙(晕).
2.代码互评(5分)
同学代码
自己代码
不同点:感觉TA的比我的容易些(虽然我也不是很懂TA写的是什么),至少看起来比我的简洁一些;
TA能用不同的方法写出这道题,一题多解,是一个值得我去学习的地方。
3.学习总结(15分)
3.1 学习进度条(5分)
周/日期 | 这周所花的时间 | 代码行 | 学到的知识点简介 | 目前比较迷惑的问题 |
---|---|---|---|---|
12.13~12.20 | 8~9个小时 | 427 | 自定义函数 | 题目好难,让我感觉自己到处都是疑惑 |
3.2 累积代码行和博客字数(5分)
3.3 学习内容总结和感悟(5分)
3.3.1 学习内容总结
3.3.2 学习体会
课堂上听了个半懂,回去没有及时复习,现在的我好懵。。。。。。还是得多加练习;
学习了各种类型函数的定义,要学会一题多解;
磨人啊,PTA越来越难了,期末考试也越来越近,我这里每天都忙得没时间复习,不管多忙,都要保持良好的心态(强颜欢笑)。。。。