8-7.c

来自「这个是数据结构经典算法实现」· C语言 代码 · 共 35 行

C
35
字号
#include "stdio.h"
void main(void)
{/* 非负整数值的直方图*/
	int n; /* 元素数*/
	int r;/* 整数值位于0 到r之间*/
	int *h;
	int i,key;
	printf( "Enter number of elements and range\n" );
	scanf("%d %d",&n,&r);
	/* 创建数组h*/
	h=(int *)calloc((r+1)*sizeof(int));
	if(h==NULL)
	{
		printf( "range is too large\n" );
		exit (1) ; 
	}
	/* 将数组h初始化为0*/
	for (i = 0; i <= r; i++)
		h[i] = 0;
	/*输入数据并计算直方图*/
	for (i = 1; i <= n; i++)
	{
		int key; /*input value*/
		printf( "Enter element :"); 
		scanf("%d",&i );
		scanf("%d", &key);
	}
	h[key]++;
	/* 输出直方图*/
	printf( "Distinct elements and frequencies are\n" );
	for (i = 0; i <= r; i++)
		if (h[i]) 
			printf("%d  %d\n",i,h[i]);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?