• 第九次


    一、实验内容   

        1.定义函数实现:输入若干名学生的成绩(输入人数或用负数结束均可),求其平均分,最高分和最低分,并指出最高分和最低分的学生(给出下标即可),输入一个成绩,说明是第几个学生的成绩,最后按照成绩从高到低排序后输出。(至少七个函数。输入函数、平均值函数、最大值下标函数、最小值下标函数,查找函数,排序函数,输出函数)

    #include<stdio.h>
    #define N 99999
    
    
    int shuru(int fen[],int n)
    {
        int i;
        for(i=0;i<n;i=i+1)
        {
            printf("请输入成绩
    ");
            scanf("%d",&fen[i]);
        }
    }
    
    
    double pingjun(int fen[],int n)
    {
        int i,sum;
        sum=0;
        for(i=0;i<n;i=i+1)
        {
            sum=sum+fen[i];
        }
        return (double)sum/n;
    }
    
    
    int da(int fen[],int n)
    {
        int i,max;
        max=fen[0];
        for(i=0;i<n;i=i+1)
        {
            if(fen[i]>max)
            {
                max=fen[i];
            }
        }
        return max;
    }
    
    
    int dabiao(int fen[],int n)
    {
        int i,a;
        a=0;
        for(i=0;i<n;i=i+1)
        {
            if(fen[i]>fen[a])
            {
                a=i;
            }
        }
        return a;
    }
    
    
    int xiao(int fen[],int n)
    {
        int i,min;
        min=fen[0];
        for(i=0;i<n;i=i+1)
        {
            if(fen[i]<min)
            {
                min=fen[i];
            }
        }
        return min;
    }
    
    
    int xiaobiao(int fen[],int n)
    {
        int i,a;
        a=0;
        for(i=0;i<n;i=i+1)
        {
            if(fen[i]<fen[a])
            {
                a=i;
            }
        }
        return a;
    }
    
    
    int zhao(int fen[],int i,int x)
    {
        printf("请输入学生成绩
    ");
        scanf("%d",&x);
        i=0;
        while(fen[i]>=0)
        {
              if(fen[i]==x)
              {
                  return i;
              }
              i=i+1;
        }
        return -1;
    }
    
    
    int pai(int fen[],int n)
    {
        int i,j,k,t;
        for(i=0;i<n-1;i=i+1)
        {
            k=0;
            for(j=0;j<n-1;j=j+1)
            {
                if(fen[j]>fen[j+1])
                {
                    t=fen[j];
                    fen[j]=fen[j+1];
                    fen[j+1]=t;
                    k=1;
                }
            }
            if(k==0)
            {
                break;
            }
        }
    }
    
    
    int main()
    {
        int fen[N],n,max,min,a,b,c,i;
        double ping;
        printf("请输入一共有多少学生
    ");
        scanf("%d",&n);
        shuru(fen,n);
        ping=pingjun(fen,n);
        printf("平均分是%.2lf
    ",ping);
        max=da(fen,n);
        a=dabiao(fen,n);
        a=a+1;
        printf("最高分是%d,是第%d个同学
    ",max,a);
        min=xiao(fen,n);
        b=xiaobiao(fen,n);
        b=b+1;
        printf("最低分是%d,是第%d个同学
    ",min,b);
        c=zhao(fen,n,c);
        c=c+1;
        printf("这是第%d个学生
    ",c);
        pai(fen,n);
        printf("排序后的成绩为
    ");
        for(i=0;i<n;i=i+1)
        {
            printf("%4d",fen[i]);
        }
        return 0;
    }

    2.定义长度为100的整型数组,将数组元素赋初值为1,2……100,将其中所有值为3或7倍数的值删除,最后打印输出数组中剩余数的个数及每个数。

    #include<stdio.h>
    int main()
    {
        int shu[100];
        int i,a;
        a=0;
        for(i=0;i<100;i=i+1)
        {
            shu[i]=i+1;
        }
        for(i=0;i<100;i=i+1)
        {
            if(shu[i]%3==0||shu[i]%7==0)
            {
                shu[i]=0;
            }
        }
        for(i=0;i<100;i=i+1)
        {
            if(shu[i]!=0)
            {
                a=a+1;
                printf("%d ",shu[i]);
            }
        }
        printf("还剩下%d个数
    ",a);
        return 0;
    }

    二、实验总结

    1、查百度

    2、数组在函数中的传递

    3、不要嫌程序麻烦,要一步一步的耐心写

    三、程序分析

    程序1:两个数换位置,执行结果是  2,1

    程序2:两个数换位置,但是换不了,  结果是 1,2

  • 相关阅读:
    Xshell6配置ssh免密码登录虚拟机
    编程语言的各种区别
    unity_小功能实现(敌人追踪主角)
    unity_小功能实现(敌人巡逻功能)
    Unity Editor已停止工作
    unity之初级必备知识
    unity之中级工程师
    iTween基础之功能简介
    C#数据结构_查找
    C#数据结构_排序
  • 原文地址:https://www.cnblogs.com/accelerator123/p/6126294.html
Copyright © 2020-2023  润新知