这个作业属于那个课程 | C语言程序设计 |
这个作业要求在哪里 | https://www.cnblogs.com/galen123/p/11996995.html |
我在这个课程的目标是 | 在学好C语言编程的基础上,掌握多种编程方法 比如JAVE,命令格形式编码,能偶熟练各种编程操作,精通编程知识 |
这个作业在那个具体方面帮助我实现目标 | 方便练习并且掌握作业提交,比如利用表格清楚地阐述本次的作业只要内容,能够又快又好地完成编程作业和代码作业 |
参考文献 | 提问的智慧。C Primer Plus 百度文库 |
1.PTA实验作业
1.1 6-2 统计各位数字之和是5的数 (20分)
题目内容描述:![]
1.1.1数据处理
- 数据表达:本题用了这s,t这二个变量,n是个通过while循环控制条件,并且用来赋值;t为中间变量,用来储存n除以10取整,s用来叠加数字之和,sum是求和,count来计量数
数据处理:
伪代码:
Begin(算法开始)
定义整形变量n,s,t;
输入值n值;
while(n)
//满足n不等于0的条件下进行循环
t = n % 10;
n /= 10;
s += t;
//将n除以10取整赋值给t,n除以10,把t的值加上赋值给s
if (s == 5)
//S==5就返回1 否则就返回0
int sum = 0, count = 0, i;
//定义并赋值sum=0,count=0,i;
for (i = a; i <= b; i++) {
//将a赋值给i,每次进行for循环都进行判断i是否小于或等于b,则进行每次加1,
if (is(i)) {
//判断是否符合is函数,若符合则count++,sum+=i,
printf("count = %d, sum = %d", count, sum);
//打印
End(算法结束)
1.1.2实验代码截图
1.1.3 造测试数据
104 999 | 104 is counted.count = 15, sum = 3720 | |
104 999 | 104 is counted.count = 15, sum = 3720 | |
104 999 | 104 is counted.count = 15, sum = 3720 |
1.1.4 PTA提交列表及说明
提交列表说明:这道题比较容易,基本上没有问题
1.2 7-1 解一元二次方程(*) (10分)
题目内容描述:
1.2.1数据处理
- 数据表达:本题用了a,b,c,d,x,p,q,g,h,这十个个变量,其中a,b,c是接受初始值,x是解一元一次方程的解,p,q和g,h都是用来判断一元二次方程的根,
数据处理:
伪代码:
Begin(算法开始)
#include <stdio.h>
#include <math.h>
int main ( )
{
double a, b, c, x, p, q,d,g,h,l;
scanf("%lf %lf %lf", &a, &b, &c);
if (a == 0) //判断a的值是否为0
{
if (b != 0) { // 假设b的值不为为0
x = -c / b; //解出方程的根
printf("x = %g", fabs(x)); //题目要求考虑实数的负零问题和误差问题;所以用绝对值函数
}
else if (b == 0 && c != 0) //假设吧b的值为0,c的值不为0
{
printf("无解");//方程无解
}
else {
printf("无穷多解"); //方程有无穷多解
}
else
{
d=b*b-4*a*c; // 判断▲的值,看方程是否有实根
if(d>0) //假设方程有俩个不同实根
{
g = -b / (2 * a);
h = (sqrt(d)) / (2 * a);
printf("x1 = %g, x2 = %g\n",g+h,g-h); //输出俩个实根
if(d==0){ //假设方程有两个相同实数根
p = -b / (2 * a);
printf("x1 = x2 = %g\n",fabs(p)); // 题目要求考虑实数的负零问题和误差问题;所以用绝对值函数
}
}
else //假设方程的两个共轭的虚根。
p=-b/(2*a);
q=fabs(sqrt(-d)/(2*a));
printf("x1 = %g+%gi, x2 = %g-%gi", fabs(p), q, fabs(p), q);//输出方程的的两个共轭的虚根。
}
return 0;
}
1.2.2实验代码截图
1.2.3 造测试数据
0 0 0 | 无解 | 方程无解 |
-0.1 0.04 -0.01 | x1 = 0.1-0.2i, x2 = 0.1+0.2i | 方程有两个共轭虚根 |
-3 1.2 -0.12 | x1 = x2 = 0.2 | 方程有两个相同实根 |
1.2.4 PTA提交列表及说明
提交列表说明:尽力再写了,但是还有两个测试点答案错误
2.代码互评
同学代码1:
同学代码2:
自己代码:
- 区别
1:总体来说,这道题的思路大家都是一样的,只是在定义的变量不同而已,
3.学习总结
3.1学习进度条
第一周 | 六天 | 学习常量,变量,数据类型 | 无 |
第二周 | 八天 | 基本语句scanf | 无 |
第三周 | 六天 | 学会了if-else结构 | 对于条件的判断有点迷糊 |
第四周 | 六天 | 学会了for循坏结构 | 容易跟if-else混淆 |
第五周 | 三天 | 对函数的使用,以及定义新的函数 | 定义函数怎样下手 |
第六周 | 六天 | 学会使用分支结构 | 无 |
第七周 | 五天 | 学习了新的语句switch语句 | case与break的关系 |
第八周 | 六天 | 学会了while语句和do while语句 | 不太分得清俩个语句的差异 |
第九周 | 四天 | 学会了嵌套循坏,for嵌套 | 感觉不是很理解 |
第十周 | 四天 | 无 | 无 |
第十一周 | 三天 | 静态变量,全局变量,静态局部变量,内部变量,外部变量 | 关于这些变量的区别和定义范围还不是很清楚 |
3.2 累积代码行和博客字数
3.3.1学习内容总结
3.3.2学习感悟
这一周是艰难的一周,新知识点的学习,感觉有点模糊,没听懂,还需自己课后多加复习,PTA的作业编程题有点难度,做不出来。