• 实验八


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

    #include<stdio.h>
    int main()
    { 
    int N;
      printf("请输入班级人数");
      scanf("%d",&N);
    int sum=0,max,min,index1,index2,grade,i,score[N]; double average; printf("请输入学生的成绩 "); //求平均值 for(i=0;i<N;i++) { scanf("%d",&score[i]); sum+=score[i]; } average=(double)sum/i; printf("平均分为%.2lf",average); //求最大值 max=score[0]; index1=0; for(i=0;i<N;i++) { if(score[i]>max) { max=score[i]; index1=i; } } printf("最大值为%d,学生为%d",max,index1); //求最小值 min=score[0]; index2=0; for(i=0;i<N;i++) { if(score[i]<min) { min=score[i]; index2=i; } } printf("最小值为%d,学生为%d",min,index2); //查找 printf("请输入一个成绩"); scanf("%d",&grade); for(i=0;i<N;i++) { if(grade==score[i]) { printf("这是第%d个学生",i); } } return 0; }

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

    #include<stdio.h>
    int main()
    {
        int i,n,m;
        int a[10]={1,3,5,7,9,11,13,15,17};
        for(i=0;i<10;i++)
        {
            printf("%d ",a[i]);
        }
        printf("
    ");
        printf("请输入一个非负整数");
        scanf("%d",&n);
        for(i=0;i<10;i++)
        {
            //在中间时 
             if(n>a[i]&&n<a[i+1])
            {
                for(m=9;m>=i+1;m--)
                {
                    a[m]=a[m-1];
                }
                a[i+1]=n;
            }
            //在最后 
             else if(n>a[8])
            {
                a[9]=n;
            }
            //在开头 
            else if(n<a[0])
            {
                for(m=9;m>=0;m--)
                {
                    a[m]=a[m-1];
                }
                a[0]=n;    
            }
            printf("%d ",a[i]);
        }
    
        return 0;
    }

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

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

    实验总结:

    (1)数组变量本身不可以(数组名)不能被赋值

    (2)数组必须先定义后使用

    (3)在计算时注意数据类型的转换

    知识点总结:

    (1)数组中的每一个元素都属于同一种数据类型

    (2)数组一旦创建,不能改变大小

    (3)数组中的元素在内存中是连续一次排列的

    (4)C语言对数组不做越界检查,使用时要注意

  • 相关阅读:
    非静态成员的sizeof
    Android中java.lang.ClassNotFoundException: ***.**** in loader dalvik.system.PathClassLoader[/data/app
    手机 SIM卡的EF
    android 获取手机ip的三种方式
    获取图片倒影效果
    python基础
    Python学习_数据处理split方法
    Python学习_从文件读取数据和保存数据
    Python学习_列表推导和Lambda表达式
    python学习_数据处理编程实例(一)
  • 原文地址:https://www.cnblogs.com/lr97/p/6091141.html
Copyright © 2020-2023  润新知