第二次作业

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

函数6-2 找俩个数中的最大值

实验代码:

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

解题思路:

第一步:首先定义max

第二步:利用if-else语句找出最大值

第三步:返回max

流程图:

本题调试过程碰到问题及解决方法:

本题在调试过程中没有错误

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

实验代码:

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

解题思路:

第一步:输入i,sum,avg,max,min,a[i]

第二步:把sum和avg的初始值设成是0

第三步:利用for循环输入6个数字,并算出6个数的和,用总和除以6算出avg

第四步:把最小值和最大值都设成是a[0]

第五步:利用for循环比较最大值与最小值(a[i]>max说明数组中有数字比max大,所以循环比较找出最大值,找出最小值同理)

流程图:

本题调试过程碰到碰到问题及解决方法:

 

这道题在第一次编译时是0错误0警告的,但是在运行时没有得到我想要的结果。错误的原因时由于自己的马虎着急没有在printf后给出值所对应的名称,经过改正编译运行正确截图如下

 数组 7-2 查找整数

实验代码:

#include<stdio.h>
int main()
{
    int N,i,x;
    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",i);
            break;
        }
        
    }
    if(a[i]!=x)
        {
            printf("Not found");
        }
    return 0;
    
 } 

解题思路:

第一步:输入正整数N,i,x,和a[20](表示a[i]个数在20以内)

第二步:利用for循环输入a[20]

第三步:利用for循环和if语句找出数组a[i]的第几个数(从0开始)与输入的x相等,若相等则if语句结束

第四步:利用if语句,如果不相等,则输出“Not found”

流程图:

 

编译没有错误

个人总结:

(1)学习了函数,一维数组,二维数组

(2)在学习数组时不知怎么去调用函数,通过打代码得知了如何去调用;学习数组时不知如何对数组中一一赋值,之后得知是运用for循环赋值,不能像之前一样。

我评论了:章宇楠同学:https://www.cnblogs.com/zyn-66/p/10145222.html

                  苏末然同学:http://www.cnblogs.com/smr2018023977/

                  丛梓祺同学:http://www.cnblogs.com/congziqi123/

我邀请:苏末然同学,章宇楠同学,丛梓祺同学来评论我的博客

表格与折线图:

posted @ 2018-12-21 09:18  张虹泽  阅读(158)  评论(8编辑  收藏  举报