C语言作业11

半腔热情 提交于 2019-12-06 20:02:28
问题 答案
这个作业属于那个课程 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的作业编程题有点难度,做不出来。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!