第八次作业

 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。

原文地址:https://www.cnblogs.com/buyuhang/p/6102141.html