作业9

一.作业头

这个作业属于哪个课程 计科3班
这个作业要求在哪里 作业9
这个作业的目标 学会使用自定义函数,明白自定义函数之间的区别,明白全局变量与局部变量之间的区别
学号 20209026

二.本周作业

1.PTA实验作业(20分/题)

1.1统计某类完全平方数 (20分)

本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。

函数接口定义:
int IsTheNumber ( const int N );
其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。

裁判测试程序样例:

include <stdio.h>

include <math.h>

int IsTheNumber ( const int N );

int main()
{
int n1, n2, i, cnt;

scanf("%d %d", &n1, &n2);
cnt = 0;
for ( i=n1; i<=n2; i++ ) {
    if ( IsTheNumber(i) )
        cnt++;
}
printf("cnt = %d\n", cnt);

return 0;

}

/* 你的代码将被嵌在这里 */
1.1.1数据处理

  数据表达:用到了N,prescribing, power,digit, dacade, hundred,thousand总共7个变量;N是由主函数中的值直接赋值到N,再在主函数的循环体中随着i的改变逐渐改变,prescribing,power,thousand是由计算式直接计算赋值;这7个变量都是整型。
  数据处理:用到了有参数有返回值的用户自定义函数;if的嵌套的分支结构。

1.1.2实验代码截图

1.1.3 造测试数据

输入数据 输出数据 说明
0 99 cnt = 0 从一位数到两位数中间应该都为0

1.1.4 PTA提交列表及说明

编译错误:没有加分号。

1.2 解一元二次方程 (10分)

*解一元二次方程

请编写程序,解一元一次方程 ax
​2
​​ +bx+c=0 。

一元二次方程的求根公式为:

题图.jpg

要求:

若 a=0,则为一元一次方程。
若 b≠0,则方程有唯一解,输出这个解;
若 b=0,c≠0,则方程无解,输出“无解”;
若 b=0,c=0,则方程有无穷多解,输出“无穷多解”。
若 a≠0,则为一元二次方程。
若 Δ>0,则方程有两个不等的实根,输出这两个根;
若 Δ=0,则方程有两个相等的实根,输出这两个根;
若 Δ<0,则方程有两个共轭的虚根,输出这两个根。

1.2.1数据处理

  数据表达:用到了a, b, c, discriminant, root,root1, root2,shibu, xubu总共9个变量;a,b,c由scanf输入变量的值,discriminant, root,root1, root2,shibu, xubu都是在后面的不同条件下处理不同的运算;九个变量都是双精度浮点型;
  数据处理:数学函数;if的分支结构。

1.2.2实验代码截图

1.2.3 造测试数据

输入数据 输出数据 说明
-0.2 0.04 -0.04 x1 = 0.1-0.4i, x2 = 0.1-0.4i 当为共轨的时候,结果的正确性

1.2.4 PTA提交列表及说明

2.代码互评(5分)

2.1 同学代码截图

2.2 自己代码截图

2.3 区别

  • 该同学的代码行数比我的代码行简洁了许多,自己的代码看上去非常的胡乱。
  • 在与他的作业对比,我的作业比他更加复杂。

3.学习总结(15分)

3.1 学习进度条(5分)

周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
6 10.8~10.11 1h 51 打印“ hello world”
7 10.12~10.18 6h 60 有很多符号分辨不清
8 10.19~10.25 10h 69 数学函数的调用 对于文件的调试搞不懂
9 10.26~11.1 10h 84 if-else语句
10 11.2~11.6 10h 248 for语句 对于比较难的循环还搞不清循环的次数与循环内容
11 10.2~10.13 8h 8h 用户自定义函数的使用,理解与明白函数的定义与调用的区别 调试的用法
12 10.14~10.20 10h 370 if的嵌套语句,关于char在使用中的事项 关于《C Primer Plus》中有些关于3.4.8的有些概念性的问题较为模糊
13 11.21~11.27 19h 543 如何简化在switch中有条件的语句,在if与switch都存在时,代码就会看上去就会很多,什么语句可以简化这种呢
14 11.28~12.4 20h 465 在条件的选择,以及在循环体中,如何较好的方法去简化代码 对于题目所给条件的判断还不是很明确
15 12.5~12.11 24h 1052 在for循环的镶嵌语句上,知道如何简化自己的代码,知道怎样更加清晰的画流程结构 对于for循环的镶嵌还不是太熟练

3.2 累积代码行和博客字数(5分)

3.3 学习内容总结和感悟(5分)

3.3.1 学习内容总结

3.3.2 学习体会

  • C语言的学习需要自己努力的钻研。
  • 有的时候看见其他同学在自学,而我自己却没有自学,因此我从现在起要开始制定自己的目标,把学习的内容学会!
  • 在选择for语句与while语句中,有较好的区别方法,也可以在while中对for循环。简化了我前面的一些题目的过程。

posted @ 2020-12-21 18:58  明天是星期几  阅读(97)  评论(0编辑  收藏  举报