• 第八次作业


    一、实验内容

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

    代码:

    #include<stdio.h>
    #define N 30
    int main()
    {
        int score[N],sum=0,i,i1=0,i2=0,i3=0,n,x,max,min;
        double average;
        printf("请输入人数:
    ");
        scanf("%d",&n);
        for(i=0;i<n;i++)
        {
            printf("请输入成绩:
    ");
            scanf("%d",&score[i]);
            sum=sum+score[i];
        }
        average=(double)sum/n;
        printf("这些同学的平均成绩是%.2f
    ",average);
        max=score[0];
        for(i=0;i<n;i++)
        {
            if(score[i]>max)
            {
                max=score[i];
                i1=i;
            }
        }
        printf("最高分是%d,最高分学生是%d
    ",max,i1);
        min=score[0];
        for(i=0;i<n;i++)
        {
            if(score[i]<min)
            {
                min=score[i];
                i2=i;
            }
        }
        printf("最低分是%d,最低分学生是%d
    ",min,i2);
        printf("请输入一个成绩:
    ");
        scanf("%d",&x);
        for(i=0;i<n;i++)
        {
            if(score[i]==x)
            {
                i3=i+1;
                printf("%d是第%d个学生的成绩
    ",x,i3);
            }
        }
        return 0;
    }

    程序运行结果:

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

    代码:

    #include<stdio.h>
    #define N 10
    int main()
    {   
        int a,b,c,n,i;
        int z[N]={3,5,7,9,11,13,15,17,19};
        printf("请输入一个数字,将插入到3,5,7,9,11,13,15,17,19里:
    ");
        scanf("%d",&a);
        for(i=0;i<N;i++)
        {
            if(a<=z[i])
            {
                n=i+1;
                printf("插入到第%d位前面
    ",n);
                break; 
            }
        }
        if(a>z[i])
        {
            printf("3,5,7,9,11,13,15,17,19,%d
    ",a);
        }
        for(i=n-1,c=N-1;i<=c;c--)
        {
            z[c]=z[c-1];
        }
        z[n-1]=a;
        for(i=0;i<N;i++)
        {
            printf("%d ",z[i]);
        } 
        return 0;
    }

    程序运行结果:

    3、实验要求:用数组实现火柴棍等式

    代码:

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

    程序运行结果:

    二、知识点总结

    1、一维数组定义方式:数据类型  数组名【数组长度】

    2、一个浮点型数据占四个字节;

    3、数组元素的引用格式为:数组名【下标】①、下标从0开始;②、允许快捷随机访问;

    4、保证数组下标不越界;

    5、初始化方式:int a[5]={1,2,3,4,5}

    说明:①、数组不初始化,其元素值为随机数;

            ②、只给部分数组元素赋初值,则其后的元素被初始化为0。

    三、实验总结

    1、scanf语句不要忘记取地址符;

    2、可用#define主函数定义;

    3、注意大括号的位置,缩格书写使代码美观。

  • 相关阅读:
    更新增加一个门店ID字段的值
    测试成功,修改能运行代码--待优化
    奶粉运营,跑数据三个模板。
    子查询返回多条报错误
    分析跑数口径与表内在关系逻辑
    NAVICAT PREMIUM 初识
    长沙生活
    金蝶用户操作
    EXCEL对比重复数据
    处理链长期检查问题
  • 原文地址:https://www.cnblogs.com/zhao-1184346113/p/6091736.html
Copyright © 2020-2023  润新知