• 第二次作业


    作业要求: https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_3/homework/2503

    函数:找出两个数中最大值;

    实验代码:

    #include <stdio.h>
    int max( int a, int b ){
        int max;
        if(a>b)
        max=a;
        else
        max=b; 
    }
    int main()
    {    
        int a, b;
    
        scanf("%d %d", &a, &b);
        printf("max = %d
    ", max(a, b));
    
        return 0;
    }

    解题思路:

    (1)

    第一步:定义函数max,定义变量max,判断a、b的大小关系,将大的值赋给max;

    第二步:定义主函数;

    第三步:定义a、b;

    第四步:输入a、b;

    第五步:输出max;

    (2)

    调试中所遇问题及解决方法:

    1、定义函数后加分号多余;(delete“;”)

    2、max函数中返回值0,导致所得数据错误;(delete“return 0;”)

    数组1:交换最大值和最小值;

    实验代码:

    #include <stdio.h>
    main()
    {
        int n,i,a[10],c,d,min,max,j;
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
        }
        min=max=a[0];
        for(i=0;i<n;i++)
        {
            if(a[i]<=min)
              {
                  min=a[i];
                  j=i;
              }
        }
        c=a[0];
        a[0]=min;
        a[j]=c;
        for(i=0;i<n;i++)
        {
            if(a[i]>=max)
              {
                  max=a[i];
                  j=i;
              }
        }
        d=max;
        a[j]=a[n-1];
        a[n-1]=d;
        for(i=0;i<n;i++)
        printf("%d ",a[i]);
    }

    解题思路:

    (1)

    第一步:定义数组、变量min、max及相应变量n、i;

    第二步:输入数组中的元素个数输入数组中元素;

    第三步:将数组中第一个元素的值赋给max与min,

    第四步:依次将数组中的元素与min相比,将最小值赋给min;

    第五步:将最小值与数组中第一个元素互换;

    第六步:依次将数组中元素与max相比,将最大值赋给max;

    第七步:将最大值与数组中最后一个元素互换;

    第八步:输出数组元素;

    (2)

    编程中所遇问题及解决方法:

    1、将数组第一个元素误以为是a[1];(数组中第一个元素为a[0])

    2、输出数组输出有误;(应循环输出数组元素)

    数组2:简化的插入排序;

    实验代码:

    #include <stdio.h>
    main()
    {
        int n,i,j,x,a[11];
        scanf("%d",&n);
        for(i=0;i<n;i++)
        scanf("%d",&a[i]);
        scanf("%d",&x);
        i=0;
        while(a[i]<x&&i<n)
             i++;
        for (j=n-1;j>=i;j--)
        {
            a[j+1]=a[j];
        }
        a[i]=x;
        for(i=0;i<n+1;i++)
        printf("%d ",a[i]);
    }

    解题思路:

    (1)

    第一步:定义数组及其相关变量;

    第二步:输入数组元素个数及其元素;

    第三步:输入所插入常数;

    第四步:从第一个元素依次判断是否小于所插入常数,若判断完或数组元素大于所插入元素即停止;

    第五步:将大于所插入常数的数组元素序列依次向后加一;

    第六步:输入数组元素;

    (2)

    调试中所遇问题及解决方法:

    1、”&&“与”||“算数符混淆;(将”||“换成”&&“)

    2、最后输出数组元素时少输出一个;(将a[n]换成a[n+1])

     

     总结:

    1、定义函数后加分号多余;

    2、数组中第一个元素为a[0];

    3、输出数组时用for循环语句输出;

    4、定义函数后不用加”;“;

    5、”&&“:与,”||“:或,”!“非;

    6、三目运算符:”A?B:C;“,先判断A的值是否为真,若为真则执行B,若为假则执行C;

    7、多维数组:int num[3][4]={{1,2,3,4}{5,6,7,8}{4,3,2,1}{8,7,6,5}};

    <现在睡觉的话会做梦,而现在学习的话会让梦实现>

     评论:

    于桐: 于桐同学的作业还是很优秀的,不过第一个流程图为什么要给两遍呢,第二个题的解题思路是否有点过于简单呢,个人观点仅供参考^-^。

    王文琪:王文琪同学的作业完成的很完美 对于学习的总结很到位 值得我去学习 相信你在你的努力下会变得更加优秀

    崔凤宇:崔凤宇同学的作业内容很清晰,不过我觉得解题步骤是否过于简化,没能明确反应接下来的流程图,相信你能在接下来的学习中更优秀。

    图表:

    时间

    十三周 十四周 十五周 十六周 十七周
    博客字数 0 0 0 129 217
    代码行数 92 84 102 98 117

  • 相关阅读:
    参考Shiro的自定义基于Spring的AOP横切模式
    Spring-@Value获取配置文件内容
    BeanPostProcessor Bean实例的初始化前后的自定义修改
    两台Linux主机之间免密scp复制文件及远程启动关闭Tomcat
    Shiro Realm领域
    test
    Linux 安装Oracle数据库
    Shiro Authorizer授权器
    HDU 1079 Calendar Game (博弈)
    MooFest POJ
  • 原文地址:https://www.cnblogs.com/mcba22/p/10133371.html
Copyright © 2020-2023  润新知