代码改变世界

第二次作业

2018-12-20 19:51  yzc666  阅读(368)  评论(3编辑  收藏  举报

 

本次作业要求:

https://edu.cnblogs.com/campus/hljkj/Cprogramming_2018Autumn_CST2018_3/homework/2503

函数:6-2 寻找两个数中最大者

1、实验代码

 #include <stdio.h>
  
  int max( int a, int b );
 int main()
 {    
     int a, b;
 
     scanf("%d %d", &a, &b);
     printf("max = %d\n", max(a, b));

return 0;
}14 int max( int a, int b )
 {
     int max;
    if(a>b)
     max=a;
     else 
    max=b;
return max;
     
 }

2、解题思路

(1)对算法描述

1:根据要求对变量a,b,max定义

2:对a,b进行比较将较大值赋给max

3:返回max值给原函数

3,流程图


4,运行结果

 

5,注意事项:不能按惯性思维打出return 0,而是应该输入return max。

数组1:7-3 最高分、最低分、平均分

1、实验代码

#include <stdio.h>
main()
{
    int j = 6;
    int a[j];
    int max,min,avg;
    int i;
    for(i = 0; i < j; i++)
    {
        scanf("%d",&a[i]);
    }
    max = min =avg = a[0];
    for(i = 1; i < j; i++)
    {
        if(min>a[i])
        {min = a[i];}
        if(max<a[i])
        {max = a[i];}
        avg += a[i];
    }
    avg = avg/6.0;
    printf("max:%d\nmin:%d\navg:%d",max,min,avg);
    return 0;
 } 

 

2,文字描述

1:输入i,a[i]

2:令max=min=a[0]

3:判断max是否小于a[i]。如果小于,max=a[i];如果大于,max=a[0]

4:判断min是否大于a[i]。如果大于,max=a[i];如果小于,min=a[0]

5:输出max,min

6:sum=sum+a[i]

7:avg=sum除以6

8:输出avg

3,流程图

 

 

4,运行结果

5,本题调试过程碰到问题及解决办法

开始没有注意到两次判断,使得我在未能顺利输出

数组2-2 查找整数

1.实验代码

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

2,文字描述

要求从输入的N个整数中查找给定的X

1,定义函数和各个量,输入各个量的值

2,执行if循环语句对整数进行查找

3,如果找到整数则输出整数,并得到它在数组中的位置i

4,如果找不到这个值,则改变j的值,并输出Not Found

3,流程图

 

 

 

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

 

5,本题调试过程中遇到的问题及解决办法

开始时我对于N的定义并没有了解透彻,使得输出只会出现not found,在我重新定义N以后,程序可以正常运行

 

个人总结

(1)最近学习了数组的使用方法,对一维二维数组有了初步的了解,此外还学习了数组的冒泡排序法,选择排序法,并且在课下还了解了一下java。

(2)关于函数的构建,这一点对我来说还是难点,仍然需要对这个多加了解和多次敲写,而在数组方面,我对二维数组也只有一些浅显的认识,而对于如何使用它更是一窍不通。

对同学的点评

周建钊 于桐 佟雨轩

表格与折线图