zoukankan      html  css  js  c++  java
  • C语言I博客作业09

    1.作业头

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/zswxy/CST2020-4
    这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2020-4/homework/11637
    这个作业的目标 掌握各种类型函数的定义、调用和申明,熟悉变量的作用域、生存周期和存储类型
    学号 20209051

    1.PTA作业

    1.1 统计各位数字之和是5的数 (20分)

    本题要求实现两个函数:一个函数判断给定正整数的各位数字之和是否等于5;另一个函数统计给定区间内有多少个满足上述要求的整数,并计算这些整数的和。

    函数接口定义:
    int is( int number );
    void count_sum( int a, int b );
    函数is判断number的各位数字之和是否等于5,是则返回1,否则返回0。

    函数count_sum利用函数is统计给定区间[a, b]内有多少个满足上述要求(即令is返回1)的整数,并计算这些整数的和。最后按照格式

    count = 满足条件的整数个数, sum = 这些整数的和
    进行输出。题目保证0<a≤b≤10000。

    裁判测试程序样例:

    #include <stdio.h>
    
    int is( int number );
    void count_sum( int a, int b );
    
    int main()
    {
        int a, b;
    
        scanf("%d %d", &a, &b);
        if (is(a)) printf("%d is counted.
    ", a);
        if (is(b)) printf("%d is counted.
    ", b);
        count_sum(a, b);
    
        return 0;
    }
    
    /* 你的代码将被嵌在这里 */
    
    
    1.1.1 数据处理
    数据表达:sum,sun,x,c都为整型变量;sum,sun,c初次赋值后累加,a计算后赋值。
    数据处理:
           表达式: a=number%10;number=number/10;sum=sum+a;c++;sun=sun+x;
           流程结构:do-while循环,if-else条件判断,for循环
    
    1.1.2实验代码截图

    1.1.3造测试数据
    输入数据 输出数据 说明
    104 999 104 is counted. count = 15, sum = 3720 范围之内,104满足条件
    1 9999 count = 56, sum = 77770 临界
    1 10000 count = 56, sum = 77770 临界
    1.1.4 PTA提交列表及说明

    说明:
    部分正确:a<=b忘记打=,打成了a<b
    编译错误:中途加入变量,却没有去定义变量
    

    1.2 解一元二次方程

    解一元二次方程

    请编写程序,解一元一次方程

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

    要求:

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

    1.2.1数据处理
    数据表达: a,b,c,x1,x2,d,e,f,m,n都为浮点型,a,b,c直接输入数值,其余计算得值。
    数据处理:
            表达式:d=b*b-4*a*c; m=(-b+sqrt(d))/(2*a); n=(-b-sqrt(d))/(2*a);e=fabs(-b/(2*a));f=fabs(sqrt(-d)/(2*a));
            流程结构:if-else多分支判断
    
    1.2.2实验代码截图

    1.2.3造测试数据
    输入数据 输出数据 说明
    3 0 0.27 x1 = 0+0.3i, x2 = 0-0.3i
    0.3 0 0 x1 = x2 = 0
    1 -0.4 0.04 x1 = x2 = 0.2
    1.2.4PTA提交列表及说明

    说明:
    答案错误:对d的条件判断有错误直接判0,没有意识到浮点型计算的差值。
    编译错误(太久远了没有截到截图里):语法错误,}少了一个。
    

    2.代码互评

    同学代码:

    (1)

    (2)

    我的代码:

    1. 第一位同学直接将每个数分离出来去判别,相较于我和第二位同学代码来说我们使用了数组会更加方便一些。
    2. 我和第二位同学都使用了数组,但是我的代码看起来比较简洁一些
    

    3.学习总结

    3.1学习进度条
    周/日期 这周所花的时间 代码行 学到的知识点简介 目前比较迷惑的问题
    第十六周/12.19 20h 346 自定义函数 如何自定义函数
    3.2累积代码行和博客字数

    3.3学习内容总结和感悟
    3.3.1学习内容总计

    3.3.2学习感悟
    1. PTA最后一个编程题真的是炸脑袋,不过这次学会了怎样去用数组了,也算得上是一个小进步吧。
    2. 临近期末考试了,去复习之前做过的题目,觉得自己真的有很大的进步了,虽然说后面的题目越来越难了。
    3. 这周学习的函数部分的内容,虽然在之前就有提到过,但是依旧觉得自己还是没有彻底搞懂。
  • 相关阅读:
    likely(x)与unlikely(x) __builtin_expect
    c++ ScopeExitGuard
    c++ 11 bind function
    boost shared_ptr weak_ptr
    PL/SQL:使用pragma restrict_references限制包权限
    Nginx的事件处理机制
    读书笔记-HBase in Action-第二部分Advanced concepts-(1)HBase table design
    谈谈工作
    [Java 8] (5) 使用Lambda表达式进行设计
    How to delete a large number of data in SharePoint for List when refreshing data?
  • 原文地址:https://www.cnblogs.com/toubi/p/14144455.html
Copyright © 2011-2022 走看看