• 第八次作业


    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("请输入一共有多少学生
    ");
        scanf("%d",&n);
        sum=0;
        for(i=0;i<n;i=i+1)
        {
            printf("input the score
    ");
            scanf("%d",&num[i]);
        }
        for(i=0;i<n;i=i+1)
        {
            sum+=num[i];
        }
        ping=(double)sum/n;
        printf("averge=%.2lf
    ",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
    ",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
    ",min,x);
            }
        }
        printf("input the score
    ");
        scanf("%d",&x);
        for(i=0;i<n;i=i+1)
        {
            if(x==num[i])
            {
                c=i+1;
                printf("found,the number is%d
    ",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("请输入插入的数字
    ");
        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	",a,b,c);
            }
        }
        return 0;
    }

    知识点总结

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

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

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

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

    实验总结

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

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

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

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

  • 相关阅读:
    [BJOI2019] 光线
    C# 从零开始写 SharpDx 应用 笔刷
    BAT 脚本判断当前系统是 x86 还是 x64 系统
    BAT 脚本判断当前系统是 x86 还是 x64 系统
    win2d 通过 CanvasActiveLayer 画出透明度和裁剪
    win2d 通过 CanvasActiveLayer 画出透明度和裁剪
    PowerShell 拿到显卡信息
    PowerShell 拿到显卡信息
    win10 uwp 如何使用DataTemplate
    win10 uwp 如何使用DataTemplate
  • 原文地址:https://www.cnblogs.com/zhaojingwen123/p/6107822.html
Copyright © 2020-2023  润新知