第二次作业


第二次作业

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

一.(函数)判断给定整数奇偶性的函数。

1.实验代码

int even(int n )
{
  if(n%2==0)
   
     return 1;
   
    return 0;
}

2.解题思路

1)主要描述题目算法。

第一步:输入整数,调用主函数。

第二步:判断整数的奇偶性,和题目要求赋值给整形函数返回主函数。

2)流程图

 

3.本题调试过程遇到的问题及解决办法

因为是书上的例题编译过程没有任何问题,只是在提交答案时,把主函数也给打上了,所以提交时总显示错误,后来问过同学才明白不用再写主函数了。

二.(数组1)交换最大值与最小值

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]);
}

2,解题思路

1)主要描述题目算法。

第一步:给数组赋值。

第二步:根据循环求出最大值与最小值。

第三步:交换最大值与最小值。

2)流程图

 

3.本题调试过程遇到的问题及解决办法。

遇到问题:交换时忘记了找一个中间的介质,导致代码错误。

解决办法:根据提示只有两个交换元素,在其中加入一个中间介质,重新运行结果正确。

 

三,(数组2)简化的插入排序。

1.实验代码

#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]);
    return 0;
 }

2,解题思路

1)主要描述题目算法。

第一步:原本就是升幂的数列,依次比较此项与下一项的大小。

第二步:若大于此项再依次比较下去。

第三步:直到找到比输入值大的一项,把数插在此项的前一个。

2)流程图

 

 

3.本题调试过程遇到的问题及解决办法

 

遇到问题:出现重复数据。

 

 

 

解决办法:多次循环后发现忘记在最后一个循环之前重新给a[i]赋值,更改后可以正常运行。

个人总结

1,最近学习了函数与数组,类型题包括数字金字塔,输出所有大于平均值的数,一维数组,二维数组。在慕课网上学习了switch语句,但还是不太懂。

2,在学习过程中遇到了许多问题,1)总是忘记从零开始计数,通过多打代码熟悉。2)数组这部分的代码非常的不能理解,通过自己阅读教材,问同学,渐渐的明白一点了。

 互评和学习进度。

1,互评

梁德辉同学的作业;作为第一个提交作业的人,我认为简直是太厉害的,对本作业的重视程度非常高,但是我认为流程图画的有点太庞大了,有点乱。https://www.cnblogs.com/wsaldh/p/10127051.html

王文琪同学的作业:王文琪同学总结写的非常认真对所学内容很清晰,但是第二个流程图好像部分线条重合了。

https://www.cnblogs.com/qqovo/p/10134759.html

于   桐同学的作业:于桐同学的作业很清晰,但是折线图的各条线代表什么没有给出,我认为这是美中不足的地方。https://www.cnblogs.com/4399yt/p/10139089.html

2,学习进度

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM