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

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

    #include<stdio.h>
    int main ()
    {
        printf("请输入学生的个数:
    ");
        int N;
        scanf("%d",&N);
        int score[N],sum=0,i,a,index;
        double average;
        printf("请输入学生的成绩:
    ",N) ;
        for(i=0;i<N;i++)
        {
            scanf("%d",&score[i]);
        }
        for(i=0;i<N;i++)
        {
            sum+=score[i];
        }
        average=(double)sum/N;
        printf( "平均分是:%5.lf。
    ",average);
        int max;
        index=0;
        max=score[0];
        for(i=1;i<N;i++)
            {
                if(score[i]>max)
                {
                    max=score[i];
                    index=i;
                }
            }
        printf("最高分是:%d,Index=%d。
    ",max,index);
        int min;
        index=0;
        min=score[0];
        for(i=1;i<N;i++)
            {
                if(score[i]<min)
                {
                    min=score[i];
                    index=i;
                }
            }
        printf("最低分是:%d,Index=%d。
    ",min,index);
        printf("请输入你想查看的成绩
    ");
        scanf("%d",&a);
        index=0;
        for(i=0;i<N;i++)
        {
            if(a==score[i])
            {
                index=i+1;
                  printf("这是第%d个学生的成绩
    ",index);
            }
        }
        return 0;
    }

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

    #include<stdio.h>
    int main()
    {
        int i,j,x;
        int a[11]={1,3,5,7,9,11,13,15,17,19};
        printf("请输入一个数字
    ");
        scanf("%d",&x);
        if(x>=a[9])
        {
            printf("现在数据为:1,3,5,7,9,11,13,15,17,19,%d",x);
        }
        else
        {
            for(i=0;i<10;i++)
            {
                if(x<a[i])
                {
                    j=i;
                    break;
                }
            }
            for(i=10;i>=j;i=i-1)
            {
                a[i+1]=a[i];
            }
            a[j]=x;
            printf("现在数据为");
            for(i=0;i<11;i++)
            {
                printf("%d ",a[i]);
            }
        }
        return 0;
    }

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

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

     二、知识点总结:

    1.数组的定义:定义方式:数据类型 数据名【数据长度】。
    2.数组必须先定义,后使用。
    3.数组名不能被赋值。
    4.数组的下标是从0开始的。
    5.数组不初始化,其元素值为随机数。
    6.数组中的每一个元素都属于同一种数据类型。
    7.使用#define声明多行函数与声明单行函数没有本质区别。
    8.数组一旦创建,不能改变大小;数组中的元素在内存中是连续依次排列的。

     三、实验总结:

    1.可用#define主函数定义。
    2.数组元素更换顺序应从后往前。
    3.数组中元素值不赋初始值的话,初始值默认为0。

  • 相关阅读:
    LeetCode Subarrays with K Different Integers
    LeetCode Repeated DNA Sequences
    为什么要使用静态方法
    String,StringBuilder,StringBuffer
    汉诺塔递归算法
    设计模式之代理模式
    设计模式之单例设计模式
    设计模式之工厂方法和抽象工厂
    设计模式之模板方法
    并发技巧清单(1)
  • 原文地址:https://www.cnblogs.com/buyuhang/p/6102141.html
Copyright © 2011-2022 走看看