[c]超半的数

发布时间:2023年12月22日

题目意思很简单,就是输入一组数据,输出出现次数过半的数

根据这个题我们也可以写出另一个题,(题2)(统计一组数据中各个数出现的次数)

下面附上两个题代码

题1:

#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int aver=n/2;
	int arr[n+1];
	int arr2[1000]={0};
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&arr[i]);
	}
	for(int i=1;i<n;i++)
	{
		for(int k=i;k<n;k++)
		{
			if(arr[i]==arr[k+1])
			{
				arr2[i]++;
				if(arr2[i]>=aver)
				{
					printf("%d ",arr[i]);
				}
	    	}
		}
	}
	return 0;
}

题2:

#include<stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int aver=n/2;
	int arr[n+1];
	int arr2[1000]={0};
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&arr[i]);
	}
	for(int i=1;i<n;i++)
	{
		for(int k=i;k<n;k++)
		{
			if(arr[i]==arr[k+1])
			{
				arr2[i]++;
				arr[k+1]=-1;
	    	}
		}
	}
	for(int i=1;i<=n;i++)
	{
		if(arr[i]!=-1)
		{
			printf("%d出现的次数为%d\n",arr[i],arr2[i]+1);
		}
	}
	return 0;
}

这是第二个代码输出结果

如有错误或者不合理的地方欢迎各位大佬指出,谢谢

文章来源:https://blog.csdn.net/2301_80108815/article/details/135157430
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。