第二次作业

 

一.实验代码


#include <stdio.h>

int even( int n );

int main()
{   
    int n;

    scanf("%d", &n);
    if (even(n))
        printf("%d is 偶数.\n", n);
    else
        printf("%d is 奇数.\n", n);

    return 0;
}

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

二.解题方法

(1)其中n是用户传入的整型参数。当n为偶数时,函数返回1;n为奇数时返回0。注意:0是偶数。

(2)流程图:

 

(3)运行过程中遇到的问题和解决方法:

没什么问题

7-4求一组数中的最大值和次最大值

一.实验代码:

 1 #include<stdio.h>
 2 
 3 int main()
 4 
 5 {
 6 
 7   int a[10],Max,cMax,i;
 8 
 9   for(i=0;i<10;i++)
10 
11   {
12 
13     scanf("%d",&a[i]);
14 
15   }
16 
17     Max = a[0];
18 
19     cMax = a[0];
20 
21     for (int i = 0; i < 10; i++)
22 
23     {
24 
25         if (Max < a[i])
26 
27         {
28 
29             cMax = Max;
30 
31             Max = a[i];
32 
33         }
34 
35         
36 
37     }
38 
39     printf("max=%d,",Max);
40 
41     printf("cmax=%d",cMax);
42 
43 }

二.(1)解题方法:

1.先定义a[10],Max,cMax,i。

2.输入a[i]

3.初始化

4.进入循环,if (Max < a[i]) cMax = Max; Max = a[i];
(2)流程图

 

 

(3)运行过程中遇到的问题和解决方法:

解决方法:

未将Max cMax进行初始化,应在17行处添加

Max = a[0];
    cMax = a[0];
 

7-2查找整数

一.代码

 

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

 

二.(1)解题方法  

 

 输入i,flag,x,N;

进入循环, if(a[i] == x)printf("%d\n",i);
      flag = 1;
      break;

if(a[i] != x)

printf("Not Found\n");

(2)流程图:

(3)运行过程中遇到的问题和解决方法:

 解决方法:

在18行处加      break;

个人总结

通过这几周对数组的学习,虽然比前面的内容难,但是理解之后就会发现数组解决实际问题更加简单,在课余时间还要多加练习。

 

对同学的点评

 

于桐   孟琛博奥  梁宇

表格与折线图

 

posted @ 2018-12-20 13:45  冰心一十月  阅读(243)  评论(4编辑  收藏  举报