第二次作业

 

作业要求链接:https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_4/homework/2502

一.函数6-4判断奇偶

1·实验代码:

 1 #include<stdio.h>
 2 int even( int n );
 3 int main()
 4 {
 5   int n;
 6   scanf("%d",&n);
 7   if(even(n))
 8   {
 9     printf("%d is even.",n);
10   }
11   else
12   {
13     printf("%d is odd.",n);
14   }
15   
16   return 0;
17   
18 }
19 int even(int n)
20 {
21   if(n % 2 == 0)
22     {
23       return 1;
24     }
25     else
26     {
27       return 0;
28     }
29 }
代码

 2·解题思路:

(1).文字描述:

第一步:理清什么是奇数和偶数(能被2整除的数即为偶数,否则为奇数)。

第二步:怎样用代码表示奇偶性(当满足n%2=0为偶数,否则为奇数)。

(2).流程图:

 

 

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

(1).错误截图:

(2).编译器设置断点、单步调试的界面截图:

 

(3).

本题遇到的问题:

经过仔细查找后发现不细心将printf("%d is even.\n", n)printf("%d is odd.\n", n);中的“even.\n""odd.\n"写成"even\n""odd\n"

解决办法:可以考虑直接将标题已有代码的复制下来。

2.数组(1)7-2输出数组元素

1.实验代码:

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n,i,a[20],b[20],j;
 5     scanf("%d",&n);
 6     for(i = 0;i < n;i++)
 7     {
 8         scanf("%d",&a[i]);
 9     }
10     for(i = 0;i < n-1;i++)
11     {
12         b[i]=a[i+1] - a[i];
13     }
14     for(i = 0;i < n-1;i++)
15     {
16         if(i%3 == 0)
17         {
18           printf("\n");
19         }
20         printf(" %d",b[i]);
21     }
22     return 0;
23 }
代码

2.解题思路:

(1).

第一步:用循环计算前后两个数的差值。

第二步:用另一个数组b[]存储差值.

第三步:实现每行三个差值的格式输出结果。

(2).流程图:

 

 

 

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

(1).运行过程:

(2).编译器设置断点、单步调试的界面截图:

 

三.数组(2)7-4选择法排序

1.实验代码:

代码

2.解题思路:

(1).文字描述:

第一步:找出输入的10个数字中的最小值并与数组中的第一个数进行交换。

第二步:找出剩余的9个数字中的最小值并与第二个数换位置。

·

·

·

第九步:找出最后两个数的最小值并互换位置。

(2)流程图:

 

 

 

 

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

(1)错误截图:

 

 

 

 

(2)编译器设置断点,单步调试截图:

 

 

(3)本题遇到的问题:

 为观察清题意,将“注意:要求排序只排3轮。”理解错误

(4)解决办法:

 将代码中的10轮改成3轮

三.个人总结

(1)最近几周学习的内容及学到的知识点:

吸收:1.数组(一位数组,二维数组)2.冒泡排序法  3.选择排序法

消化:1.数组的概念(数组是用于存储多个相同类型数据的集合)2.数组的一些简单运用  3.冒泡排序的概念(依次比较相邻的两个数,若是递减的,则交换位置,否者不换,最后结果是将数组中最大的值放到最后一个位置,下面亦是如此)4.冒泡排序的简单运用(数的升与降)5.选择排序法的概念(找出一组数中的最小值,然后与第一个数交换位置,接着找出剩余无序数的最小值并与第二个数交换位置,依次类推)6.选择排序法的简单运用(数的升与降)

 (2)

难点:数组,冒泡,选择排序法的熟练掌握

方法:多刷题,包括实际操作和理论题。

四.互评和学习进度

(1)评价过同学博客的链接:

 1.徐凤隆

 2.王恩临

3.张学键

(2)表格:

  敲代码量/行 敲代码时长/时 写博客量/数 写博客时长/时 所学的知识点
第十四周 2000 10 0 0 一维数组
第十五周 2000 11 0 0 二维数组
第十六周 2100 10 0 0 冒泡排序
第十七周 2200 11 2050 5 选择排序

(3)折线图:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2018-12-22 01:06  向上吧,少年!  阅读(189)  评论(2编辑  收藏  举报