这个作业属于哪个课程 | https://edu.cnblogs.com/campus/zswxy/CST2020-2 |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/zswxy/CST2020-2/homework/11635 |
这个作业的目标 | 掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型。回顾和反思前面的学习,总结这周的学习。 |
学号 | 20208993 |
1.PTA实验作业
1.1 6-1 统计某类完全平方数 (20分)
题目内容描述 :
1.1.1数据处理
数据表达 :用了整型变量n,count,num,digit,flag,N和整型数组a[10];N是从主函数中接收的整数;n作为返回值;
数据处理 :运用了自定义函数、while循环结构和if分支结构。
int IsTheNumber ( const int N )
{
int n,a[10]={0},count,num,digit,flag=0;
num=sqrt(N);
count=N;
while(count>=1){
digit=count%10;
a[digit]++;
if(a[digit]>=2){
flag=1;
break;
}
count/=10;
}
if(flag==1&&num*num==N){
n=1;
}else{
n=0;
}
return n;
}
1.1.2实验代码截图
1.1.3 造测试数据
1.1.4 PTA提交列表及说明
部分正确:未考虑某些特殊情况,导致其中一个测试点未通过。
编译错误:在修改程序时,某个语句后面缺少了';'或者'}'。
1.2 7-1 解一元二次方程 (10分)
题目内容描述 :
1.2.1数据处理
数据表达 :用了浮点型变量看x,x1,x2,a,b,c,m,n;a、b、c为用户输入的数据,x、x1、x2储存方程根的值,
数据处理 :运用if结构的嵌套和#include<math.h>头文件中的取绝对值库函数。
if(a==0){
if(b!=0){
printf("x = %g",fabs(-c/b));
}
if(b==0&&c!=0)
printf("无解");
if(b==0&&c==0)
printf("无穷多解");
}
m=b*b-4*a*c;
x1=(-b+sqrt(m))/(2*a);
x2=(-b-sqrt(m))/(2*a);
if(a!=0){
if(m>0){
if(x1==-0)
x1=0;
if(x2==-0)
x2=0;
if(fabs(x1-x2)<0.0001)
printf("x1 = x2 = %g",x1);
else
1.2.2实验代码截图
1.2.3 造测试数据
1.2.4 PTA提交列表及说明
部分正确:未考虑根的负零情况,和根的误差问题。
2.代码互评
同学代码 :
自己代码 :
1、黄丹同学在运用数组的时多用了一个switch分支结构,而我直接判断数组下标为0-9个数中对应的数是否为2,如果为2则证明下标在一个整数中出现了两次。
2、李志杰同学在对整数完全平方时未运用sqrt库函数,而我直接用sqrt库函数,因为主函数中有头文件math.h,所以可以直接用库函数。
3、总体上看起来,我的程序更简便。
3.学习总结
3.1 学习进度条
3.2 累积代码行和博客字数
3.3 学习内容总结和感悟
3.3.1 学习内容总结
3.3.2 学习体会
1、最熟悉的定义函数类型就是有参有返回值,其他三种还不熟悉。
2、最好不要使用全局变量,这门课程的知识在我大脑中不断的积累。
3、同时肯定还有许多是我自己还没有发现我自己那里没掌握的知识点。
4、学习了这么多周后,我觉得写程序最重要的是自己的思维,这门课程很考验思维能力,同时写的代码在慢慢变长。