• 第三次作业


    作业要求 :【https://edu.cnblogs.com/campus/hljkj/CS201801/homework/2359

    第6次作业:7-1 求1到100的和:

    1.代码:

    #include<stdio.h>
    int main()
    {
        int i,sum;
        sum = 0;
        for(i = 1;i<=100;i++){
        sum = sum + i;    }
        printf("sum = %d",sum);        
        return 0;
     } 

    2.解题思路:

    (1).先定义整型变量i和sum。

    (2).再定义sum等于零。

    (3).建立一个for循环,循环条件为i小于等于100。

    (4).在进入循环时定义i为1,如果i小于等于100则进入循环,若大于100则进入第五步。

    (5).每次循环结束后i都加1。 

    (6).输出sum,sum等于1到100的和 。

     3.流程图:

    4.调试过程:

    (1).

     (2).

     5.本题遇到的问题和解决方法:

    (1.)唯一一个问题就是我以为for循环中在不需要时可以不写条件也可以不写分号(如图)

     然后在我编译的过程中就出现了错误(如图)

    在我经过了许久的排查之后并没有解决问题,然后在同学的火眼金睛下发现了这个致命的错误。

    6.个人总结:

    在这两次的作业中,我发现难度在一点点增高,我所暴露出来的问题也越来越多,就像这道题就是因为这种小问题导致我浪费了很多的时间,所以在以后的学习过程中,一定要杜绝这种可避免的错误,提高做题的效率。这样才能做更多的题,也可以大大的节省时间。如果马虎这个问题得不到解决,是很致命的。然后在这段时间的学习当中也使我对循环的理解更进了一步。

    第9次作业:7-5 奇偶分家:

    1.代码:

    #include<stdio.h>
    int main(){
        int a,b,e,c,d,i;
        a = 0;
        d = 0;
        c = 0;
        scanf("%d",&a);
        for(i = 1;i<=a;i++){
            scanf("%d",&b);
            c = b % 2;
        if(c!=0){
                d++;
            }
        }
        e = a - d;
        printf("%d %d",d,e);
        return 0;
    }

    2.解题思路:

    (1).定义整形变量a,b,c,d,e,i。

    (2).定义a等于0,d等于0,c等于0。

    (3).输入a。

    (4).建立一个for循环,循环的条件为i小于等于a,而且在进入循环时,使i等于1。

    (5).进入循环第一步先输入一个b,然后求出c(c为b除以2的余数),如果c不等于零这表示输入的b为奇数,反之c等于零则b为偶数。

    (6).进入一个if的判断,如果c不等于0则d加1(d就代表奇数的个数 ),如果c等于零则回到for循环的第一步中,输入一个b。

    (7).在每次循环结束后i都加1

    (8).求出e,e等于a减d。e为偶数的个数。

    (9).输出d,e,即输出奇数和偶数的个数。

    3.流程图

    4.调试过程(以三个数分别为12,10,13为例)

    (1).

     

    2).

     (3).

    (4).

    5.本题遇到的问题和解决办法:

     (1).本题遇到第一个的问题是:该如何区分奇偶数。刚开始这个问题确实困扰了我一会,在我一筹莫展的时候回想起了老师课上讲的内容,就是关于奇偶数的。然后就想起来了解题的方法。

    (2).第二个问题就是循环里面套判断的方法使用的不熟练,因为是第一次使用,所以很生疏,错误也特别多。

    6.个人总结:

    在这两次的作业中我发现了循环的重要性,而且也开始运用一些知识上的结合,比如我举例的这道题,就是运用了for和if来解决这道题的。然后在以后的课堂上一定会认真听讲,老师课上讲的东西真的都很有用,一旦错过一点都会损失很多。然后我也要加强对循环的训练和使用,老师也是强调过在c程序中循环是很重要的。

     

    第十次作业:7-4 最大公约数和最小公倍数:

    1.代码:

    #include<stdio.h>
    int main(){
        int a,b,c,d,i,f = 0;
        int e,g;
        scanf("%d %d",&a,&b);
        for(i = 1;i<=a;i++){
            c = a % i;
            d = b % i;
            if(c==0&&d==0){
            e = i; 
    }
    }
        g = a * b / e;
        printf("%d %d",e,g);
        return 0;
    } 

    2.流程图:

     

    3.解题思路:

    (1).定义整型变量a,b,c,d,e,f,g,i。使i等于1,f等于0.

    (2).输入a,b。

    (3).建立for循环,循环的条件为i小于等于a。

    (4).进入循环后按照计算式( c = a % i;  d = b % i;)求出c,d。这步是为了寻找a,b的约数。

    (5).进入判断,如果c,d都等于零,将i的值赋给e,否则回到循环中继续运算。这步是为了求出了a,b的最大公约数e。

    (6).每次循环结束都将i加1。

    (7).通过g = a * b / e,得出g,g为a,b的最小公倍数。这个式子是在已知两个数的最大公约数时求最小公倍数的数学公式。

    (8).输出最大公约数e,最小公倍数g。

    4.调试过程:

    (1).

    (2).

     (3).

    (4).

    5.本题遇到的问题和解决办法:

    (1).本题遇到的最大的问题就是在求最小公倍数的时候,我并没有第一个想到我举例中的那个数学公式,而是以代码的形式取而代之,我写了很久,也写了很多,写的特别乱,更别说对错了,就连编译都是一堆错误,然后在我一筹莫展的时候,我室友告诉我说这个其实不用这么复杂,它其实用一个数学公式就可以求出来。

    (2).然后再就是一些技术上的问题,在运用循环和判断的嵌套时总会在大括号的位置上出现问题。

    6.个人总结:

    在这周的学习中我暴露出来的最大的问题就是数学知识不够硬,在一些与数学有关的地方总是浪费时间,所以一定要加强数学能力。然后通过这两周的学习过程中,让我在循环这一部分有了一定的进步,让我使用起来更熟练。

     统计图表:

    (1).

    (2).

    https://www.cnblogs.com/wangxiangbo/p/9948484.html

    https://www.cnblogs.com/chengxu230921/p/10017973.html

    https://www.cnblogs.com/zcybky/p/10022913.html

  • 相关阅读:
    OKR、KPI、360环评
    Ray Dalio《原则》
    Apache Software Foundation Popular
    Zeebe架构图
    spring schedule quartz 的区别
    2022 Automation Trends
    我们如何克服 Jenkins 声明式管道中长期运行的工作限制
    Kubernetes: Kubesphere 和 Rancher
    Kafka消费者组再均衡问题
    领域驱动设计框架Axon实践InfoQ
  • 原文地址:https://www.cnblogs.com/wudiabc/p/10016701.html
Copyright © 2020-2023  润新知