计算一个整数中哪个数字出现的频率最高

#include<stdio.h>
int main()
{
	char num[100];
	char number[10]={0};
	int scan_num;
	int i=0;
	int j=0;
	printf("请输如一个整数(小数部分自动忽略):");
	scanf("%d",&scan_num);
	printf("\n输入的整数为:%d\n\n",scan_num);
	if(scan_num<0)
	{
		scan_num=-scan_num;
	}
	while(scan_num/10>0)
	{
		num[i]=scan_num%10;
		scan_num=scan_num/10;
		i++;
	}
	num[i]=scan_num;
	printf("输入整数的位数为:%d\n\n",i+1);
	for(j;j<=i;j++)
	{
		switch(num[j])
		{
			case 0:
				number[0]++;
				break;
			case 1:
				number[1]++;
				break;
			case 2:
				number[2]++;
				break;
			case 3:
				number[3]++;
				break;
			case 4:
				number[4]++;
				break;
			case 5:
				number[5]++;
				break;
			case 6:
				number[6]++;
				break;
			case 7:
				number[7]++;
				break;
			case 8:
				number[8]++;
				break;
			case 9:
				number[9]++;
				break;
			default:
				break;
		}
	}
	j=0;
	for(i=0;i<10;i++)
	{
		if(j<number[i])
		{
			j=number[i];
		}
	}
	i=0;
	while(i<10)
	{
		i++;
		if(j==number[i-1])
		{
		printf("出现最多的数字是:%d\t出现了%d次\n\n",i-1,number[i-1]);
		}
	}
}

猜你喜欢

转载自blog.csdn.net/qq_39089444/article/details/89544876