zoukankan      html  css  js  c++  java
  • 第九次作业

    实验内容

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

    
    
    #include <stdio.h>
    #define N 100
    void readScore(int score[], int n);
    double average(int score[],int n);
    int findMax(int score[],int n);
    int findMaxIndex(int score[],int n);
    int findMin(int score[],int n);
    int findMinIndex(int score[],int n);
    int findscore(int score[],int n);
    void bubbleSort(int score[],int n);
    void print(int score[],int n);
    int main ()
    {
    int score[N],n,max,maxIndex,min,minIndex,i,a[N],k,l,m;
    double ave;
    printf ("请输入学生的人数
    ");
    scanf ("%d",&n) ;
    printf("请输入学生的成绩
    ") ; 
    readScore(score,n);
    ave=average(score,n);
    {
    printf("学生平均成绩为%.lf
    ",ave);
    }
    max=findMax(score,n);
    {
    printf("学生成绩最大值为%d
    ",max);
    }
    maxIndex=findMaxIndex(score,n);
    {
        k=maxIndex+1; 
    printf("成绩最高的学生是第%d名
    ",k);
    }
    min=findMin(score,n);
    {
    printf("学生成绩最小值为%d
    ",min);
    }
    minIndex=findMinIndex(score,n);
    {
        l=minIndex+1;
    printf("成绩最低的学生是第%d名
    ",l);
    }
    i=findscore(score,n);
    bubbleSort(score,n) ;
    print(score,n);
    return 0;    
    } 
    void readScore(int score[], int n)
    {
    int i;
    for(i=0;i<n;i++)
    {
    scanf("%d",&score[i]);
    }
    }
    double average(int score[],int n)
    {
    int i,sum; 
    double ave;
    sum = 0;
    for(i=0;i<n;i++)
    {
    sum+=score[i];
    }
    ave=(double)sum/n;
    return ave;
    }
    int findMax(int score[],int n)
    {
    int i;
    int max;
    max=score[0];
    for(i=1;i<n;i++)
    {
    if(score[i]>max)
    {
    max=score[i];
    }
    }
    return max;
    }
    int findMaxIndex(int score[],int n)
    {    
    int i,maxIndex;
    maxIndex=0;
    for(i=1;i<n;i++)
    {
    if(score[i]>score[maxIndex])
    {
    maxIndex=i;
    }
    }
    return maxIndex;
    }
    int findMin(int score[],int n)
    {
    int i;
    int min;
    min=score[0]; 
    for(i=1;i<n;i++)
    {
    if(score[i]<min)
    {
    min=score[i];
    }
    }
    return min;
    }
    int findMinIndex(int score[],int n)
    {    
    int i,minIndex;
    minIndex=0;
    for(i=1;i<n;i++)
    {
    if(score[i]<score[minIndex])
    {
    minIndex=i;
    }
    }
    return minIndex;
    }
    int findscore(int score[],int n)
    {
    int x,i,m;
    printf("请输入你想查询的学生的成绩
    ");
    scanf ("%d",&x);
    for(i=0;i<n;i++)
    {
    if (score[i]==x)
    {
        m=i+1;
    printf("这名学生是第%d名学生
    ",m);
    }
    }
    return 0;
    }
    void bubbleSort(int score[],int n)
    {    int i,j,t,flag;
    for(i=0;i<n-1;i++) 
    {
    flag=0;
    for(j=0;j<n-1-i;j++) 
    {
    if (score[j]>score[j+1])
    {    t=score[j];
    score[j]=score[j+1];
    score[j+1]=t;
    flag=1;
    }
    }
    if(flag==0)
    break;
    }
    }
    void print(int score[],int n)
    {
    int i;
    for(i=0;i<n;i++)
    {
    printf("%5d",score[i]);
    }
    }
    
    
    
     
     
      2.定义长度为100的整型数组,将数组元素赋初值为1,2……100,将其中所有值为3或7倍数的值删除,最后打印输出数组中剩余数的个数及每个数。
    #include<stdio.h>
    #define N 100
    int main()
    {
        int i,x[N],a,b,c,d;
        a=3;
        b=7;
        c=0;
        for(i=0;i<100;i++)
        {
            x[i]=i+1;
        }
        for(i=0;i<100;i++)
        {
            if(x[i]%a==0||x[i]%b==0)
            {
                x[i]=0;
                c++;
            }
        }
        for(i=0;i<100;i++)
        {
            if(x[i]!=0)
            {
                printf(" %d",x[i]);
            }
           
        }
        d=100-c;
        printf("剩余%d个数",d);
        return 0;
    }

    知识点总结

    1.自定义函数要和主函数中数值的类型保持一致。

    2.数字初值一定要定义.

    实验总结

    1.应注意数组越界的情况。

    2.调用函数一定要与定义函数名相同。

    程序分析

         题目复制后再打字会混在程序里,所以没有题目,直接写分析。

         第一个程序中因为数组的应用函数内容可以被交换,第二个程序中没有运用数组定义函数,导致实际数组中的数无法进行交换。

  • 相关阅读:
    一本通 1602:烽火传递
    【笔记】Correlation & Convolution
    【笔记】Supreme Axiom → Heine-Borel Theorem
    CCPC2017
    【BZOJ3513】idiots
    【AGC030D】Inversion Sum
    【Gym102823H】Hamming Distance
    CCPC2018
    【ZJOI2014】力
    【Luogu3803】模板:多项式乘法
  • 原文地址:https://www.cnblogs.com/li1252204077/p/6132257.html
Copyright © 2011-2022 走看看