2 qq 26440903 qq_26440903 于 2016.03.07 20:04 提问

关于随机数组用c处理的问题,

/*用rand函数生成随机数,调用fun解决,生成平均值,和一个与平均值最接近的的小于平均数的值。*/
图片图片

1个回答

leilba
leilba   Rxr 2016.03.07 22:34
已采纳

double fun(double x[],double *av)这个函数做了两步操作:
第一步是求平均值av,也就是

for(i=0;i<N;i++) s=s+x[i];
*av=s/N; 

第二步是求与平均值最接近的小于平均值的数,也就是:

 for(i=0;i<N;i++) // 遍历数组
     if(x[i]<*av&&*av-x[i]<=d) //找出数组中小于平均值  且 与平均值差值最小的数 ,,其中d是差值
    {
     d=*av-x[i];    // 记录与平均值最接近的一个数 与平均值的差值
     j=i;       // 记录与平均值最接近的一个数在数组中的位置,,用变量j来记录
     }

所以,最后,j保存的是与平均值最接近的小于平均值的数在数组中的位置,所以与平均值最接近的小于平均值的数的值就是 x[j]

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
c语言:用数组来处理求Fibonacci数列问题
用数组来处理求Fibonacci数列问题。解:程序:#includeint main(){ int i, f[20] = { 1,1 };//对最前面两个元素f[0]和f[1]赋初值1 for (i = 2; i { f[i] = f[i-2]+f[i-1];//先后求出f[2]~f[19]的值 } for (i = 0; i { if (i % 5 == 0)//控制每输出5个数后换行
用数组处理求Fibonacci数列问题
#include int main() { int i; int s[25]={1,1}; for(i=2;i s[i]=s[i-1]+s[i-2]; for(i=0;i { if(i%5==0&&i!=0) printf("\n%12d",s[i]); else printf("%12d",s[i]); } return 0; }  -----------
C++中实现数组的随机排序
// random_shuffle example #include #include #include #include #include #include using namespace std; // random generator function: ptrdiff_t myrandom (ptrdiff_t i) { return rand()%i
C实例---生成随机数组
问题描述:在写排序算法时,很希望得到一个大一点的排序数据,且是随机数据。如果直接输入的话很浪费时间,下面的这个小程序有效的解决了这样的一个问题。 代码:#include <stdio.h> #include <stdlib.h> #include <time.h>#define ARRAY 20 //生成多大的数组 #define RANGE 100 //数组的元素大小从1到RAGNEi
实现数组随机排序
实现数组随机排序                         var app = angular.module("myApp", []);             var arr1 = [1, 2, 3, 7, 4, 9, 5, 6];             app.service("sortService", function() {                 thi
【算法设计-随机算法】利用随机算法生成均匀随机排序数组
思想: 1.首先生成1到n的数组A 2.生成1到n^3的n个数的随机数组P 例如A= P= 3.对p数组进行从小到大的排序(利用快速排序),生成数组P1= 4.根据3中P1的顺序,生成随机数数组A1= 代码: #include #include #include //快速排序,平均时间复杂度o(nlog2n),最好为o(log2n),最坏为o(n2).是不稳定排序( 交换排序)
随机打乱一个数组
原文:http://www.nowamagic.net/algorithm/algorithm_RandomTheElementsInArray.php 这个算法其实简单,首先从所有元素中随机选取一个与第一个元素进行交换,然后在第二个之后选择一个元素与第二个交换,直到最后一个元素。这样能确保每个元素在每个位置的概率都是1/n。代码如下: #include #include #i
Java编程题目-4:数组操作问题
在贴吧看到一个po出来的笔试题,是关于数组操作的,感觉跟当初大学考试题似的,如下:一个长度为n的整型数组,处理后将奇数在前,偶数在后,请编写个程序,要求空间复杂度为常数,时间复杂度为O(n)。最先考虑到的思路就是定义两个变量:begin和end,分别从数组两头开始遍历(条件就是beginpublic static int[] getNewArr(int[] arr){ int len
c语言生成随机数数组
c语言实现获得从0 ~ num-1 的随机数组(数组元素不重复,内容是0~num-1),实现的原理是数组乱序,效率高!
用数组编程字符,并统计出字符串中大小写字母的个数
我的程序: 01./* 02.* 程序的版权和版本声明部分: 03.* Copyright (c) 2013, 烟台大学计算机学院 04.* All rights reserved. 05.* 文件名称:test.cpp 06.* 作 者:王鲁峰 07.* 完成日期:2013 年12月2日 08.* 版 本 号:v1.0 09.* 对任务