精华内容
下载资源
问答
  • 【实训内容7】用指针、子函数的方法去一维数组中所有元素平均值,并放在a[0]处 传递规则-4种方法(1) 数组名 ---> 数组名(2) 数组名 ---> 指针变量(3) 指针变量 ---> 数组名(4) 指针变量 ---> ...
    《程序设计基础实训指导教程-c语言》
    ISBN 978-7-03-032846-5
    p142
    7.1.2 上级实训内容
    

    【实训内容7】用指针、子函数的方法去一维数组中所有元素的平均值,并放在a[0]


    分析:

    1. 先在主函数中定义一个含有11个元素的一维数组a,第一个元素a[0]的值为0,其他元素的值为任意值
    2. 用一个子函数给数组中除a[0]以外的所有元素赋初值,实参形参都要求是指针变量
    3. 用另一个子函数求平均值,并返回其值
    传递规则:
    		主函数	|		子函数
    ---------------------------------1)	数组名   --->	数组名
    -----------------------------------2)	数组名   --->	指针变量
    ------------------------------3)	指针变量 --->	数组名
    ----------------------------------4)	指针变量 --->	指针变量
    ---------------------------------
    

    (1) 数组名 —> 数组名

    //---------------------------------
    //(1)	数组名   --->	数组名
    //-----------------------------------
    #include<stdio.h>
    #define M 11
    void num_scanf(double *);   //声明输入数组的函数
    double num_aver(double a[]);  //声明计算和和平均值的函数(a[]会转化为*a)
    int main()
    {
        double a[M]={0},*pa;    //定义一个数组和指向数组的指针
        pa=a;   //指针指向一维数组首地址
        num_scanf(pa);
        printf("所有元素的平均值:%.3lf\n",num_aver(a));    //数组名
    }
    void num_scanf(double *a)
    {
        printf("输入数组元素的值从a[1]-a[%d]共%d个数(以空格隔开):\n",M-1,M-1);
        int i;
        for(i=1;i<M;i++)
        {
            scanf("%lf",(a+i));
        }
        getchar();
        printf("验证输入!\n");
        for(i=1;i<M;i++)
        {
            printf("%.2lf\t",*(a+i));
        }
        printf("\n");
    }
    double num_aver(double a[]) //数组名
    {
        int i;
        for(i=1;i<M;i++)
        {
            a[0]+=a[i]; //求和
        }
        printf("\n! a[0] !:%lf\n",a[0]);
        return(a[0]/(M-1)); //求平均值,并返回
    }
    

    在这里插入图片描述

    (2) 数组名 —> 指针变量

    //-----------------------------------
    //(2)	数组名   --->	指针变量
    //------------------------------
    #include<stdio.h>
    #define M 11
    void num_scanf(double *);   //声明输入数组的函数
    double num_aver(double *);  //声明计算和和平均值的函数(形参为指针变量)
    int main()
    {
        double a[M]={0},*pa;    //定义一个数组和指向数组的指针
        pa=a;   //指针指向一维数组首地址
        num_scanf(pa);
        printf("所有元素的平均值:%.3lf\n",num_aver(a));    //数组名
    }
    void num_scanf(double *a)
    {
        printf("输入数组元素的值从a[1]-a[%d]共%d个数(以空格隔开):\n",M-1,M-1);
        int i;
        for(i=1;i<M;i++)
        {
            scanf("%lf",(a+i));
        }
        getchar();
        printf("验证输入!\n");
        for(i=1;i<M;i++)
        {
            printf("%.2lf\t",*(a+i));
        }
        printf("\n");
    }
    double num_aver(double *x) //指针变量
    {
        int i;
        for(i=1;i<M;i++)
        {
            x[0]+=x[i]; //求和
        }
        printf("\n! a[0] !:%lf\n",x[0]);
        return(x[0]/(M-1)); //求平均值,并返回
    }
    

    在这里插入图片描述

    (3) 指针变量 —> 数组名

    //------------------------------
    //(3)	指针变量 --->	数组名
    //------------------------------
    #include<stdio.h>
    #define M 11
    void num_scanf(double *);   //声明输入数组的函数
    double num_aver(double a[]);  //声明计算和和平均值的函数(a[]会转化为*a)
    int main()
    {
        double a[M]={0},*pa;    //定义一个数组和指向数组的指针
        pa=a;   //指针指向一维数组首地址
        num_scanf(pa);
        printf("所有元素的平均值:%.3lf\n",num_aver(pa));    //指针变量
    }
    void num_scanf(double *a)
    {
        printf("输入数组元素的值从a[1]-a[%d]共%d个数(以空格隔开):\n",M-1,M-1);
        int i;
        for(i=1;i<M;i++)
        {
            scanf("%lf",(a+i));
        }
        getchar();
        printf("验证输入!\n");
        for(i=1;i<M;i++)
        {
            printf("%.2lf\t",*(a+i));
        }
        printf("\n");
    }
    double num_aver(double a[]) //数组名
    {
        int i;
        for(i=1;i<M;i++)
        {
            a[0]+=a[i]; //求和
        }
        printf("\n! a[0] !:%lf\n",a[0]);
        return(a[0]/(M-1)); //求平均值,并返回
    }
    

    在这里插入图片描述

    (4) 指针变量 —> 指针变量

    //----------------------------------
    //(4)	指针变量 --->	指针变量
    //---------------------------------
    #include<stdio.h>
    #define M 11
    void num_scanf(double *);   //声明输入数组的函数
    double num_aver(double *);  //声明计算和和平均值的函数(形参为指针变量)
    int main()
    {
        double a[M]={0},*pa;    //定义一个数组和指向数组的指针
        pa=a;   //指针指向一维数组首地址
        num_scanf(pa);
        printf("所有元素的平均值:%.3lf\n",num_aver(pa));    //指针变量
    }
    void num_scanf(double *a)
    {
        printf("输入数组元素的值从a[1]-a[%d]共%d个数(以空格隔开):\n",M-1,M-1);
        int i;
        for(i=1;i<M;i++)
        {
            scanf("%lf",(a+i));
        }
        getchar();
        printf("验证输入!\n");
        for(i=1;i<M;i++)
        {
            printf("%.2lf\t",*(a+i));
        }
        printf("\n");
    }
    double num_aver(double *x) //指针变量
    {
        int i;
        for(i=1;i<M;i++)
        {
            x[0]+=x[i]; //求和
        }
        printf("\n! a[0] !:%lf\n",x[0]);
        return(x[0]/(M-1)); //求平均值,并返回
    }
    

    在这里插入图片描述

    展开全文
  • 1. 建立一个ARRAY类,求一维数组中元素的最大值、最小值和平均值。要求如下: (1) 私有成员:  int data[10]:数组名称  int max:元素的最大值  int min:元素的最小值  float average:各元素平均值...

    1. 建立一个ARRAY类,求一维数组中各元素的最大值、最小值和平均值。要求如下:

    (1) 私有成员:
     int data[10]:数组名称
     int max:元素的最大值
     int min:元素的最小值
     float average:各元素的平均值
    (2) 公有成员:
     构造函数 ARRAY(int a[10]):初始化成员数组
     void process():求 data 数组中的最大值、最小值和平均值
     void print():输出数组中元素的最大值、最小值和平均值

    #include<iostream>
    using namespace std;
    
    class Array{
    	public:
    		Array(int a[10]);
    		void process();
    		void print();
    	private:
    		int data[10];
    		int max;
    		int min;
    		float average;
    };
    
    Array::Array(int a[10]){
    	for(int i=0;i<10;i++){
    		data[i]=a[i];
    	}
    }
    void Array::process(){
    	int t=data[0];
    	for(int i=1;i<10;i++){
    		if(t<data[i])
    		t=data[i];
    	}
    	max=t;
    	for(int i=0;i<10;i++){
    		if(t>data[i])
    		t=data[i];
    	}
    	min=t;
    	double sum=0.0;
    	for(int i=0;i<10;i++){
    		sum+=data[i];
    	}
    	average=sum/10;
    }
    void Array::print() {
    	cout<<"最大值: "<<max<<endl;
    	cout<<"最小值: "<<min<<endl;
    	cout<<"平均值: "<<average<<endl;
    }
    
    int main(){
    	int b[10];
    	for(int i=0;i<10;i++){
    		cin>>b[i];
    	}
    	Array arr(b);
    	arr.process();
    	arr.print();
    	return 0;
    }
    

    在这里插入图片描述

    展开全文
  • c++常见面试题:建立一个类ARRAY,求一维数组中各元素的最大值、最小值和平均值。具体要求如下:(1)私有数据成员float data[10]:存储待处理的数组元素。float max:存储数组元素的最大值。float min:存储数组...

    c++常见面试题:

    建立一个类ARRAY,求一维数组中各元素的最大值、最小值和平均值。具体要求如下:

    (1)私有数据成员
    float data[10]:存储待处理的数组元素。
    float max:存储数组中元素的最大值。
    float min:存储数组中元素的最小值。
    float average:存储数组中元素的平均值。
    (2)公有成员函数
    init(float a[10]):初始化数组data。
    void process():将数组data中的最大值、最小值和平均值分别存入max、min、average中。
    void print():屏幕输出数组中各元素(每行输出5各元素)及其最大值、最小值和平均值。
    (3)在主函数中定义一个具有10个元素的数组a,其初值为{3.0, 4, 5, 2, 1, 10, 5.5, 7.5, 8, 9}。定义一个ARRAY类的对象arr,并用a数组初始化该对象。通过arr调用成员函数,求出并输出结果。本程序正确的输出结果为:
       3    4    5   2   1
       10  5.5  7.5   8   9
       max=10
       min=1

       average=5.5


    #include <iostream>
    
    using namespace std;
    
    class ARRAY
    {
    private:
    	float data[10];
    	float max;
    	float min;
    	float average;
    	
    public:
        void init(float a[10]);
    	void process();
    	void print();
    };
    
    void ARRAY::init(float a[10])
    {
    	int i;
    	for(i=0;i<10;i++)
    	{
    		data[i]=a[i];
    	}
    }
    
    void ARRAY::process()
    {
    	float Max=data[0];
    	float Min=data[0];
    	float sum=0;
    	int a;
    	for(a=0;a<10;a++)
    	{
    		if( data[a]>=data[a+1] )
    		{
    			if(data[a]>Max)
    				Max=data[a];		
    		}
    		
    		else if( data[a]<data[a+1] )
    		{
    			if(data[a]<Min)
    				Min=data[a];
    		}
    		sum+=data[a];
    	}	
    	max=Max;
    	min=Min;
    	average=sum*0.1;	
    }
    void ARRAY::print()
    {
    	int i=0;
    	int b=0;
    	for(i=0;i<10;i++)
    	{
    		b++;
    		cout << data[i] << "   ";
    		if(b%5==0)
    			cout << endl;
    	}
    	cout << "max=" << max << endl;
    	cout << "min=" << min << endl;
    	cout << "average=" << average << endl;
    }
    
    int main()
    {
    	float a[10]={ 3, 4, 5, 2, 1, 10, 6, 7, 8, 9 };
    	ARRAY arr;
    	arr.init(a);
    	arr.process();
    	arr.print();
    	return 0;
    }










    展开全文
  • 个整型数组中元素平均值,并统计其中大于和小于此平均值元素的个数。 程序要求: 输入:整型数组中元素个数及各个元素。 输出:整型数组中元素平均值,大于和小于此平均值元素的个数。 import java....

    第二题

    程序实现目标:
    求一个整型数组中元素的平均值,并统计其中大于和小于此平均值的元素的个数。
    程序要求:
    输入:整型数组中的元素个数及各个元素。
    输出:整型数组中元素的平均值,大于和小于此平均值的元素的个数。

    import java.util.HashMap;
    import java.util.Map;
    
    /**
     * 程序实现目标:求一个整型数组中元素的平均值,并统计其中大于和小于此平均值的元素的个数。
     * 程序要求:输入:整型数组中的元素个数及各个元素。
     * 输出:整型数组中元素的平均值,大于和小于此平均值的元素的个数。
     * @author lx
     */
    public class Test {
    
    	public static void main(String[] args) {
    		// 平均数等于元素的情况无特殊处理
    		int[] a = {4, 4, 4};
    		count(a.length, a).forEach((k, v) -> System.out.println(k + "----" + v));
    	}
    	
    	/**
    	 * @param x 整型数组中的元素个数
    	 * @param arr 各个元素
    	 * @return 整型数组中元素的平均值,大于和小于此平均值的元素的个数
    	 */
    	public static Map<String, Object> count(int x, int[] arr) {
    		// 元素平均值
    		int average = 0;
    		int sum = 0;
    		for (int i = 0; i < x; i++) {
    			sum += arr[i];
    		}
    		average = sum / x;
    		
    		// 大于平均值的元素个数
    		int i = 0;
    		// 小于平均值的元素个数
    		int j = 0;
    		
    		for (int a = 0; a < x; a++) {
    			if (arr[a] > average) {
    				i++;
    			}
    			if (arr[a] < average) {
    				j++;
    			}
    		}
    		
    		// 返回结果用map封装
    		Map<String, Object> map = new HashMap<String, Object>();
    		map.put("average", average);
    		map.put("i", i);
    		map.put("j", j);
    		
    		return map;
    	}
    	
    }
    
    展开全文
  • 数组中元素平均值

    千次阅读 2019-09-25 19:54:02
    package com.test; public class Test { public static void main(String[] args){ int[] arr = {1,2,3,4,5,6}; double ret = avg(arr); //调用求数组所有元素平均值方法 System.out.println(ret); ...
  • // 计算数组元素中平均值 public static int avg(int arr[]){ int N=arr.length; int sum=0; for(int i=0;i<N;i++){ sum+=arr[i]; } int average=sum/N; return average; } 在主方法调用方法 ...
  • 数组周边元素的规律为下标个是0或是N-1,故得进行循环判断下标,当确认是周边元素的时候,计数器t应该累加,方便计算平均值。 # include&lt;stdio.h&gt; # define N 3 int main() { int a[N][N],...
  • 一维数组求和与求平均值(C语言)

    千次阅读 2020-02-26 10:27:43
    源码如下: #include<stdio.h> #include<stdlib.h> #define N 10 int main() { int arr[N]; int sum = 0; float avg; for(int i=0;i<N;i++) { arr[i] = rand()%100; ...
  • (1) 当二维数组AA不包含NAN时, AA = 1 2 3 4 5 6 7 8 9 可以直接使用mean2()计算所有元素的均值 mean2(AA)= 4.6667 (2) 当二维数组AA包含NAN时, AA = 2 3 5 4 6 NAN 7 8 9 直接使用...
  • 个整型数组中元素平均值,并统计其中大于和小于此平均值元素的个数。
  • #include<stdio.h> int z=0; double y=0.0; double ave(int a[][4]){ int i,j; for(i=0;i<=2;i++){ for(j=0;j<=3;j++){ if(a[i][j]>0){ y=+a[i][j];}}} return y;} int sum(int a[][4]){ ... if(a[i]
  • 主函数定义个3行4列的二维数组,数组元素类型不限,在程序数组元素进行赋值 b.主函数输出该二维数组(显示为3行4列)、正数的平均值以及负数的个数 提示 根据题意我们要随机生成12个数字赋值给a[3][4], ...
  • 动态分配数组 动态分配一维或多维数组的方法是由指针管理数组,二维以上的数组按一维数组... 若是一维数组,则元素为 p[i];若是二维数组,则元素为 p[i*M+j], 其中 M 为列元素个数,以此类推。 4、释放数组空间 ...
  • //输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列 public class ShuZu02 { // 对数组的每一行元素进行升序排列 public void shengxu(int[] a)
  • 一维数组所有元素的和 和平均值

    千次阅读 2013-09-21 17:36:19
    #include #define SIZE  10 int  main( int  argc,  const   char  * argv[]) ...所有元素的和为: ...平均值为: %d\n" ,sum/SIZE);       return   0 ; }
  • #include #include #define ROW 3 #define COLUMN 4 int parr[ROW][COLUMN],max,min,sum; float tatal = ROW*COLUMN,avg;...//二维数组最大值 最小值 平均值 int max_min_avg(){ int i=0,j=0; max=min=
  • 求二维数组周边值的平均值

    千次阅读 2011-08-20 10:54:28
    题目:  下列程序定义了N*N的二维数组,并...请编写函数fun,函数的功的能是:求出数组周边元素平均值并作为函数值返回给主函数的s。  例如:a数组的值为  0 1 2 7 9  1 9 7 4 5  2 3 8 3 1  4 5 6
  • 2.6 编程定义以和包含2个元素的二维double型数组,每个元素的数组长度从键盘输入,然后再依次输入二维数组中所有元素的数值,并以行列形式输出二维数组的全部元素 public static void main(String[] args) { // ...
  • # include&lt;stdio.h&gt; # define N 3 int main() { int a[N][N],sum=0,t=0; double ave; for (int i = 0; i &lt; N; i++) { for (int j = 0; j &lt; N; j++) { ... f...
  • 输入一个5X5的二维数组,将数组进行排序,其中一维数组按照平均值降序,一维数组内部升序排列。 这个问题的要点在于平均值排序和数组每行排序的结合,当然这里也可以写一个简单的方法实现,这里只用了最基本的面向...
  • 一维数组平均值

    千次阅读 2019-09-28 20:46:00
    一维数组平均值 function median($a) { // Work your magic here. Make sure you're calculating the median, NOT the mean! returnarray_sum($a)/count($a); } 转载于:https://www.cnblogs.com/far...
  • #include int Count(double a[],int n) { int j=0,i; double c,b=0; for(i=0;i;i++) { ... printf("\n这组数大于等于所有元素平均值的元素个数为%d\n",Count(a,x)); return 0; }
  • 初学数组,不是很会,慢慢学习,从基础开始。
  • #include "stdio.h" #define M 4 #define N 5 float fun(int (*p)[N],int m) { int i,j,k=0; float sum,ave; sum=0; for(i=0;i;i++) for(j=0;j;j++) if /************found************/ ...}
  • 求二维数组周边数的平均值

    千次阅读 2019-01-24 22:00:41
    //二维数组周边的数指的是数组最外围圈的数 main() { int nums[5][5]={ *****0,1,2,7,9**,*** //第行数的总和19 //第行周边数的和19 ***1***,9,7,4,***5**,* //第二行数的总
  • 定义一个int型的一维数组,包含10个元素,分别赋一些随机整数,然后求出所有元素的最大值,最小值,平均值,和值,并输出出来。 代码: import java.util.Scanner; public class TestArray { public static void ...
  • 1.已知一个3×4二维整型数组a,从键盘输入每个元素的值,计算每行的平均值存入一个一维单精度型数组b,并输出b数组中元素值(保留1位小数)。 例如: 输入:1 2 3 4 5 6 7 8 8 7 4 5 输出: 2.5 ...
  • 数组所有元素平均值

    千次阅读 2019-11-02 14:48:15
    public class TestDemo1{ public static double avg(int[]array){ double sum=0.0; for (int i = 0; i <array.length ; i++) { sum+=array[i]; }return sum/array.length;...public static void main(String[] ar...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,059
精华内容 14,023
关键字:

一维数组中所有元素的平均值