zoukankan      html  css  js  c++  java
  • 第8次作业

    一:实验内容

    1.输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩。

    #include <stdio.h>
    #define N 60
    int main()
    {
        int score[N],i,n,sum,max,min,index1,index2,index3,grade;
        double average;
        //输入
        printf("输入学生人数
    ");
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
            printf("input the score:
    ");
            scanf("%d",&score[i]);
        }
        //求平均分
        sum=0;
        for(i=0;i<n;i++)
        {
            sum+=score[i];
        }
        average=(double)sum/n;
        printf("average=%.2f",average);
        //求最高分及下标
        max=score[0];
        index1=0;
        for(i=0;i<n;i++)
        {
            if(score[i]>max)
            {
                max=score[i];
                index1=i;
            }
        }
        printf("max=%d,index1=%d",max,index1);
        //求最低分及下标
        min=score[0];
        index2=0;
        for(i=0;i<n;i++)
        {
            if(score[i]<min)
            {
                min=score[i];
                index2=i;
            }
        }
        printf("min=%d,index2=%d",min,index2);
        //查找
        index3=0;
        printf("input the score you want to find:
    ");
        scanf("%d",&grade);
        for(i=0;i<n;i++)
        {
            if(grade==score[i])
            {
                index3=i;
                printf("第%d个学生的成绩",index3+1);
                break;
            }
        }
        return 0;
    }

    2.现有一个有序正整数数组(从小到大排序),输入一个数,插入到数组中,要求插入后的数组仍然有序。对插入到最前、最后、中间位置三种情况进行验证。

    #include <stdio.h>
    #define N 11
    int main()
    {
        int a,b,i1,i2,i;
        int number[11]={1,3,5,7,9,11,14,15,17,19};
        printf("输入一个数:
    ");
        scanf("%d",&a);
        if(a<number[0])
        {
            for(i1=10,i2=9;i2>=0;i1--,i2--)
            {
                number[i1]=number[i2];
            }
            number[0]=a;
        }
        else if(a>number[9])
        {
            number[10]=a;
        }
        else
        {
            for(i=0;i<=10;i++)
            {
                if(a<number[i])
                {
                    b=i;
                    break;
                }
            }
            for(i1=10,i2=9;i2>=b;i1--,i2--)
            {
               
                number[i1]=number[i2];
            }
            number[b]=a;
        }
        for(i=0;i<11;i++)
        {
            printf(" %d",number[i]);
        }
        return 0;
    }

    
    
     

    3.用数组实现火柴棍等式

    #include <stdio.h>
    int main()
    {
        int a,b,sum=0;
        int match[10]={6,2,5,5,4,5,6,3,7,9};
        for(a=0;a<=9;a++)
        for(b=0;b<=9;b++)
        {
            sum=a+b;
            if(sum>9)
            {
                break;
            }
            if(match[a]+match[b]+match[sum]==12)
            {
                printf("%d+%d+%d
    ",a,b,sum);
            }
        }
        return 0;
    }

    二:知识点总结

    1:数据类型  数组名【数组长度】;要先定义后使用

    2:只能逐个引用数组元素,不能一次引用整个数组

    3:数组不初始化,其元素值为初始数

    4:只给部分数组元素赋初值时,其后元素初始化为0

    5:当全部数组元素赋初值时,可 不指定数组长度

    6:数组变量本身不能被赋初值

    三:实验总结

    1:在数组名数组长度后面忘记加分号

    2:最大值最小值开头变量定义错误

    3:求最小值时忘记输出

  • 相关阅读:
    JavaScript基础知识-forEach循环
    JavaScript基础知识-数组的练习
    JavaScript基础知识-数组的遍历
    JavaScript基础知识-数组的常用方法
    JavaScript基础知识-数组基于索引访问
    JavaScript基础知识-数组的定义方式
    JavaScript基础知识-垃圾回收
    JavaScript基础知识-toString()
    JavaScript基础知识-原型(prototype)
    JavaScript基础知识-构造函数(也称为"类")定义
  • 原文地址:https://www.cnblogs.com/yangchaoge1020/p/6107276.html
Copyright © 2011-2022 走看看