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 max); 
    int findmin(int score[],int n);
    int findMinIndex(int score[],int n,int min);
    int findindex(int score[],int n,int x);
    void bubbleSort(int score[],int n);
    void printScore(int score[],int n); 
    int main()
    {
    	int n,i,max,min,score[N]={0},x,num[N]={0},sea,find[N]={0},f;
    	double ave;
    	printf("请输入学生人数
    ");
    	scanf("%d",&n);
    	printf("请输入学生的成绩
    ");
    	readScore(score,n);
    	ave=average(score,n);
    	printf("成绩的平均值为%.2lf",ave);
    	max=findMax(score,n);
    	min=findmin(score,n); 
    	findMinIndex(score,n,max);
    	findMaxIndex(score,n,min);
    	printf("请输入你要查找的学生的考试成绩
    ");
    	scanf("%d",&x);
    	findindex(score,n,x);
    	printf("成绩由小到大的排序为:");
    	bubbleSort(score,n);
    	printScore(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;
    	sum = 0;
    	for(i=0;i<n;i++)
    	{
    		sum+=score[i];
    	}
    	return (double)sum/n;
    }
    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 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 findMaxIndex(int score[],int n,int max)     //最高分的下标 
    {	
    int i,maxIndex;
    for(i=0;i<n;i++)
        {
            if(score[i]==max)
            {
                maxIndex=i+1; 
                printf("成绩最低是%d分,是第%d名同学。
    ",max,maxIndex);
            }
        }
    }
    int findMinIndex(int score[],int n,int min)     //求低分的下标
    {
    int i,minIndex; 
        for(i=0;i<n;i++)
        {
            if(score[i]==min)
            {
                minIndex=i+1; 
                printf("成绩最高是%d分,是第%d名同学。
    ",min,minIndex);
            }
        }
    } 
    int findindex(int score[],int n,int x) //查找函数 
    {
    int i,y=0;
        for(i=0;i<n;i++)
        {
            if(score[i]==x)
            {
                y=i+1;
                printf("您所查询学生的是第%d名输入的成绩。
    ",y);
            }
        }
        if(y==0)
        {
            printf("您所查询学生的考试成绩不存在。
    ");
        }
    }
    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 printScore(int score[],int n)    //浏览成绩 
    {
    	int i;
    	for(i=0;i<n;i++)
    	{
    		printf("%5d",score[i]);
    	}
    	printf("
    ");
    }
    

      

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

    #include<stdio.h>
    #define N 100
    int main()
    {
    	int i,x[N],a,b,c;
    	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]);
    		}
    	}
    	printf("剩余%d个数",100-c);
    	return 0;
    }
    

      

    实验总结:

    1、数组作为函数的参数时,不能在[ ]中给出数组的大小,必须用另一个参数来传入数组的大小

    2、自定义函数和主函数中数值的类型保持一致

    3、.冒泡排序法是将两个相邻的数比较小的排到前面

  • 相关阅读:
    windows下rabbitmq 延迟插件安装
    java实现生产者和消费者 类比消息中间件
    missing go.sum entry for module providing package <package_name>
    python匹配字符串中某个词的开始位置和结束位置
    Linux中使用Docker安装MongoDB
    pypy下载和安装
    linux配置环境变量
    python替换字符串指定位置上的元素
    Flink:状态管理
    Flink:时间和水位线
  • 原文地址:https://www.cnblogs.com/lch1/p/6131451.html
Copyright © 2011-2022 走看看