zoukankan      html  css  js  c++  java
  • 第八次实验

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

    #include <stdio.h>
    #define N 10000
    int main()
    {
        int a[N],s,d,sum=0,ren,max,min,f=0,g=0,h;
        float average;
        printf("请输入学生人数
    ");
        scanf("%d",&ren);
        for(s=0;s<ren;s++)
        {
            printf("请输入学生的分数:
    ");
            scanf("%d",&a[s]);
        }
        for(s=0;s<ren;s++)
        {
            sum+=a[s];
        }
        average=(float)sum/ren;
        printf("平均分是%f
    ",average);
        max=a[0];
        for(s=0;s<ren;s++)
        {
            if(a[s]>max)
            {
                max=a[s];
                f=s+1;
            }
        }
        printf("成绩最高为%d分,他是第%d个同学
    ",max,f);
        min=a[0];
        for(s=0;s<ren;s++)
        {
            if(a[s]<=min)
            {
                min=a[s];
                g=s+1;
            }
        }
        printf("成绩最低为%d分,他是第%d个同学
    ",min,g);
        printf("请输入一个学生的成绩:
    ");
        scanf("%d",&h);
        for(s=0;s<ren;s++)
        {
            if(h==a[s])
            {
                g=s+1;
                printf("这是第%d个学生的成绩
    ",g);
            }
        }
    
        return 0;
    }

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

    #include <stdio.h>
    #define N 11
    int main()
    {
        int a,groupe[N]={1,3,5,7,9,11,13,15,17,26},s,d,b;
        printf("原数组为:1,3,5,7,9,11,13,15,17,26
    ");
        printf("请输入你要插入的数字:
    ");
        scanf("%d",&a);
        for(s=0;s<N-1;s++)
        {
            if(a<groupe[s])
            {
                d=s;
                break;
            }
        }
        b=N-1;
        for(s=b;s>=d;s--)
        {
            groupe[s+1]=groupe[s];
        }
        groupe[d]=a;
        printf("新的数组为:");
        for(s=0;s<N;s++)
        {
            printf("%d  ",groupe[s]);
        }
        return 0;
    }

       3.用数组实现火柴棍等式

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

    知识点总结:

    1、为了更改方便,一般在主函数前定义#define N **     这样便于改变N值

    2、数组一般从a【0】开始

    3、int a[0]  a代表数组名(地址常量)

    实验总结:

    1、注意C不会做越界检查

    2、数组名不能被赋初值

  • 相关阅读:
    各種語系的unicode對應以及local編碼方式
    测试邮箱采集
    devexpress控件例子
    2015结束,2016开始
    MYSQL 导出表结构
    mysql 远程访问
    jQuery的选择器中的通配符[id^='code']
    jquery判断checkbox是否选中及改变checkbox状态
    MYSQL 删除重复记录,只保留最大ID
    java.lang.IllegalArgumentException: Comparison method violates its general contract!
  • 原文地址:https://www.cnblogs.com/456abc/p/6104034.html
Copyright © 2011-2022 走看看