第八次作业

本文通过三个具体实例介绍了数组在C语言中的应用,包括学生分数统计、数组插入操作保持有序及火柴棍等式问题的解决方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

#include <stdio.h>
#define N 40
int main()
{
    int i,f,sum,score[N],max,index1,min,index2,found;
    double average;
    printf("请输入人数:\n");
    scanf("%d",&f); 
    sum=0;
    for(i=0;i<f;i++)
    {
        printf("请输入成绩\n");
        scanf("%d",&score[i]);
        if(score[i]<0)
        {
            break;
        }
        else if(score[i]>0) 
        { 
        sum=sum+score[i];
        }    
    }
    average=(double)sum/i;
    printf("sum=%d,average=%.2f\n",sum,average);
    max=score[0];
    index1=0;
    for(i=0;i<f;i++)
    {
        if(score[i]>max)
        {
            max=score[i];
            index1=i;
        }    
    }
    printf("max=%d,index1=%d\n",max,index1+1);
    min=score[1];
    index2=0;
    for(i=0;i<f;i++)
    {
        if(score[i]<min)
        {
        min=score[i];
        index2=i;
        }  
    }
    printf("min=%d,index2=%d\n",min,index2+1);
    printf("请输入成绩\n");
    scanf("%d",&found);
    for(i=0;i<f;i++)
    {    
        if(score[i]==found)
        {
            found=i;
            printf("found=%d",i+1);
            break;
        }
    } 
    return 0;
}

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

#include <stdio.h>
#define N 11
int main()
{
    int a,b,c,d,i;
    int number[11]={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,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\n",a,b,c);
        }
    }
    return 0;
}

 知识点总结:

1 数组要先定义才能使用!

2 数组定义方式为:数据类型 数组名 【数组长度】!

3 数组一旦创建,不能改变大小!

4 只能逐个引用数组元素!

5 下标值超过数组长度时可能会导致程序崩溃!

6 数组若不初始化,其元素值为随机数!

实验总结:

1 定义变量后在VC6.0中要赋初始值!

2 数组元素更换顺序应从后往前!

3 数组中元素值不赋初始值的话,初始值默认为0!

转载于:https://www.cnblogs.com/5267wss/p/6092353.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值