第2次作业

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

PTA作业:

一、7-2查找整数(数组2)

1.代码:

# include <stdio.h>
int main(void)
{
    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;
}

2.实验步骤:

  第一步——输入数组中的数和要查找的数

  第二步——判断数组中的数和要查找的数是否相等

  第三步——如果相等则输出下角标,并跳出循环

  第四步——如果不想等,则输出“Not Found”

3.流程图:

4.错误调试:

缺少了几种情况,问题没有考虑全面,1.查找的数x比数组中的所有数都大 2.x比数组中的所有数都小

5.解决方法:在判断数组中的数是否与x相等时,在其前面嵌入循环

二、7-3最高分、最低分、平均分

1.代码:

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

2.实验步骤:

  第一步:定义一个数组

  第二步:循环输入5个数并求和

  第三步:假设最大值等于最小值且初始值为数组的第一个数

  第四步:在循环内将最大值和最小值分别与数组的里的数一次比较,并确定最大值和最小值

  第五步:计算平均数

  第六步:按题目要求输出格式

3.流程图:

 

4.错误调试:

编译一直报错

5.解决方法:查看每一个语句后发现,在代码中少了一个“}”,导致编译执行出现错误

三、6-4判断奇偶性

1.代码:

#include <stdio.h>

int even( int n );

int main()
{    
    int n;

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

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

 2.实验步骤:

   第一步——调用函数

  第二步——输入一个数

  第三步——判断奇偶性

  第四步——构造函数(能被2整除的数是偶数,不能被2 整除的数是奇数)

3.流程图:

4.错误调试:

总结:

 1.一批相同类型的变量使用同一个数组变量名,用下标来相互区分。

2.只要知道了数组第一个元素的 地址以及每个元素所需的字节 数,其余各个元素的存储地址 均可计算得到。

3.交换最小值用index记录最小值对应的下标 a[index]就是最小值 最小值与第一个数交换 a[index] <==> a[0]

我个人觉得近期学的一维数组还是比较好理解,但是二维数组的行列交换的题的思路还不是很明确,对于排序的方法还不能熟练掌握

评价:

对苏末然的评价:https://www.cnblogs.com/smr2018023977/p/10122983.html

对张虹泽的评价:https://www.cnblogs.com/kaitongbokebokeyuan/p/10147468.html

对何衡的评价:https://www.cnblogs.com/blogbokeyuan/p/10153123.html

学习进度:

 

posted @ 2018-12-21 16:46  陈清涛  阅读(154)  评论(1编辑  收藏  举报