首页 > 代码库 > 第八次作业

第八次作业

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

#include<stdio.h>
#define N 100
int main()
{
    int i,n,a,b,c,x,sum,max,min;
    int num[N];
    double ping;
    printf("请输入一共有多少学生\n");
    scanf("%d",&n);
    sum=0;
    for(i=0;i<n;i=i+1)
    {
        printf("input the score\n");
        scanf("%d",&num[i]);
    }
    for(i=0;i<n;i=i+1)
    {
        sum+=num[i];
    }
    ping=(double)sum/n;
    printf("averge=%.2lf\n",ping);
    max=num[0];
    for(i=0;i<n;i=i+1)
    {
        if(num[i]>max)
        {
            max=num[i];
        }
    }
    for(i=0;i<n;i=i+1)
    {
        if(num[i]==max)
        {
            a=i+1;
            printf("max=%d,index=%d\n",max,a);
        }
    }
    min=num[0];
    for(i=0;i<n;i=i+1)
    {
        if(num[i]<min)
        {
            min=num[i];
        }
    } 
    for(i=0;i<n;i++)
    {
        if(num[i]==min)
        {
            x=i+1;
            printf("min=%d,index=%d\n",min,x);
        }
    }
    printf("input the score\n");
    scanf("%d",&x);
    for(i=0;i<n;i=i+1)
    {
        if(x==num[i])
        {
            c=i+1;
            printf("found,the number is%d\n",c);
        }
    }
    return 0;    
}

技术分享

 

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

#include <stdio.h>
#define N 11
int main()
{
    int a,b,c,d,i;
    int number[N]={1,3,5,7,9,11,13,15,17,19};
    printf("请输入插入的数字\n");
    scanf("%d",&a);
    for (i=0;i<N-1;i++)
    {
        if(a<number[i])
        {
            b=i;break;
        }
        else
        {
        b=10;
        }
    }
    c=N-1;
    for (i=c;i>=b;i--)
    {
        number[i]=number[i-1];
    }
    number[b]=a;
    for (i=0;i<N;i++)
    {
        printf("%4d",number[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++)
    for(b=0;b<=9;b++)
    {    
        c=a+b;
        if(c>9)
        {
            break;
        }
        if(match[a]+match[b]+match[c]==12)
        {
            printf("%d+%d=%d\t",a,b,c);
        }
    }
    return 0;
}

技术分享

 

知识点总结

1.一堆数组的定义方式:数据类型 数组名[数组长度]。

2.数组的特点:1)数组中的每一个元素都属于同一种数据类型。

2)数组一旦建立,不能改变大小。

3)数组中的元素在内存中是依次排列的。

实验总结

1.数组必须先定义后使用。

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

3.每个数组元素是一个数组类型的变量。

4.数组不初始化,其元素为变量值。

第八次作业