当前位置:首页 » 编程语言 » 众数问题c语言

众数问题c语言

发布时间: 2022-07-16 14:51:03

‘壹’ c语言编程,求众数

(1)"int
a[n],A[n]"定义有问题,定义一个数组,应该用常量制定数组的长度,而不是变量
(2)"A[a[i]]++";如果a[i]是一个很大很大的数,就会超出数组的范围,出现错误

‘贰’ C语言求众数的问题

众数定义:
众数(Mode)统计学名词,将数据按从大到小顺序排列后,在统计分布上具有明显集中趋势点的数值,代表数据的一般水平(众数可以不存在或多于一个)。

修正定义:是一组数据中出现频数最多的那个数值,用M。表示。
理性理解:简单的说,就是一组数据中占比例最多的那个数。

用众数代表一组数据,可靠性较差,不过,众数不受极端数据的影响,并且求法简便。在一组数据中,如果个别数据有很大的变动,选择中位数表示这组数据的“集中趋势”就比较适合。

当数值或被观察者没有明显次序(常发生于非数值性资料)时特别有用,由于可能无法良好定义算术平均数和中位数。例子:的众数是橙。

方法:
首先定义一个结构体:
struct judgedata
{ ???? newdata;
int number;
};
struct judgedata judge[n];

其中,newdata是和 DATA 类型一致的数组.
1.判断DATA[i]是否第一次出现(用for循环在数组judge[n]中寻找).
2.是就把他放入judge[j].newdata中(假设现在judge数组中有j-1个数),同时judge[j].number置1;
3.否的话,只需找到对应的data后,judge[?].number++就可以了。
4.找到judge[n].number的最大值,对应的judge[n].newdata就是要求的那个众数。

‘叁’ c语言众数问题,while后面的scanf,看不懂,是要输入x吗

while(scanf("%d", &x)==1)确保读入一个整数,否则终止循环,使用引用是为了调用者传值

‘肆’ 如何用c语言求众数

#include<stdio.h>

int main ()

{ int n,i,j,t,max=0,a[1000][2]={0};

scanf("%d",&n);

for(i=0; i<n; i++)

scanf("%d",&a[i][0]);

// printf("OK ");

for(i=0; i<n-1; i++)

for(j=0; j<n-1-i; j++)

if(a[j][0]>a[j+1][0])

{ t=a[j][0];

a[j][0]=a[j+1][0];

a[j+1][0]=t;

}

for(i=0; i<n;)

{ a[i][1]=1;

for(j=i+1; a[j][0]==a[i][0]; j++)

a[i][1]++;

if(a[i][1]>max)max=i;

i=j;

}

for(i=0; i<n; i++)

if(a[i][1]==a[max][1])

printf("%d ",a[i][0]);

return 0;

}

‘伍’ 用C语言找众数

1、先将数组a[N]排序(增序、降序都可以)

2、从a[i++]开始统计,若相等则计数器b[j++],如此重复。

3、在b[N]查找最大数max,并记录max在b[N]中的索引imax

4、设置标志flag = 1,若满足(b[i] == max && i != imax),则flag = 0

5、若falg = 0,返回-1,否则返回b[imax]

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

constintN=10;

voidSort(inta[],intn){
inti,j,k,t;
for(i=0;i<n-1;++i){
k=i;
for(j=i+1;j<n;++j){
if(a[k]<a[j])k=j;
}
if(i!=k){
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
}

voidShow(inta[],intn){
inti;
for(i=0;i<n;++i)
printf("%d",a[i]);
printf(" ");
}

intmain(){
inti,m,flag,imax;
inta[N],b[N];
srand((unsigned)time(NULL));
for(i=0;i<N;++i)//生成数组元素序列
a[i]=rand()%(1*N);
Sort(a,N);
Show(a,N);
b[0]=1;
for(i=1,m=0;i<N;++i){//统计各种大小数的个数
if(a[i]==a[i-1])++b[m];
elseb[++m]=1;
}
++m;
imax=0;
for(i=1;i<m;++i){//查找"众数"的个数
if(b[i]>b[imax])
imax=i;
}
flag=1;
for(i=0;i<m&&flag;++i)//是否存在众数?
if(b[i]==b[imax]&&i!=imax)
flag=0;
printf("%d ",flag?b[imax]:-1);
return0;
}

‘陆’ C语言求众数

#include<stdio.h>


int main()

{

int i,n,c,max=0,j,number;

int a[10];

scanf("%d",&n);

for(i=0;i<n;i++)

{

scanf("%d",&a[i]);

}

for(i=0;i<n;i++)

{

number=1;

for(j=0;j<n;j++)

{

if(a[j]==a[i])

{

number++;

}

if(max<number)

{

max=number;

c=a[i];

}

}

}

printf("该列数中众数为: %d ",c);

return 0;


}

‘柒’ C语言找众数,我想的好复杂,不知道该怎么想问题,运行结果也不对,就在此基础上,怎么改呀

// 初步测试可以实现, 可能还需要更改,重要的是思想。 自己动手完善一下吧。

// 下面用两个数组实现,如果你知道结构体的话,建议用结构体实现

#define MAXNUM 100

int PosOfThisNum(int *arr, int nLen, int nNum)

{

for(int i = 0 ; i < nLen; i++)

{

if(arr[i] == nNum)

return i;

}

return -1;

}


int main(int argc, char *argv[])

{

int arr[MAXNUM] = {0};

int i = 0;

for(;i < MAXNUM; i++)

{

scanf("%d",&arr[i]);

if(getchar() == ' ')

break;

}


int arrNum[MAXNUM] = {0};

int arrTimes[MAXNUM] = {0};


// arrNum记录所有的数

// arrTimes记录所有数出现的次数

int nCount = 0;

int nPos = 0;

for(int j = 0; j <= i; j++)

{

nPos = PosOfThisNum(arrNum, nCount, arr[j]);

if(-1 == nPos)

{

arrNum[nCount] = arr[j];

arrTimes[nCount]++;

nCount++;

}

else

{

arrTimes[nPos]++;

}

}


// 根据次数排序arrNum和arrTimes两个数组

int nTemp = 0;

int nMax = arrTimes[0];

for(int m = 0; m <= nCount; m++)

{

for(int n = m; n <= nCount; n++)

{

if(nMax < arrTimes[n])

{

nTemp = arrTimes[n];

arrTimes[n] = arrTimes[m];

arrTimes[m] = nTemp;


nTemp = arrNum[n];

arrNum[n] = arrNum[m];

arrNum[m] = nTemp;

}

}

}


// 输出次数数组前n个最大的数

printf("该数组的众数有:");

int r = 0;

for(; r < nCount; r++)

{

printf("%d ", arrNum[r]);

if(arrTimes[r] != arrTimes[r + 1])

break;

}

if(r == nCount)

{

printf("%d", arrNum[nCount]);

}


getchar();

}


热点内容
大数据与数据库的关系 发布:2025-03-07 08:48:20 浏览:288
取幂C语言 发布:2025-03-07 08:43:10 浏览:488
高考解压性 发布:2025-03-07 08:43:10 浏览:690
搜狐广告服务器是什么 发布:2025-03-07 08:36:45 浏览:147
csgo稳定fps要什么配置 发布:2025-03-07 08:35:01 浏览:404
matlab粒子群优化算法 发布:2025-03-07 08:13:49 浏览:249
编译原理翻译 发布:2025-03-07 08:08:01 浏览:592
安卓光遇测试服为什么服务器错误 发布:2025-03-07 08:05:53 浏览:550
火狐缓存文件夹 发布:2025-03-07 08:05:51 浏览:113
代码编程库 发布:2025-03-07 08:05:09 浏览:182