题目意思很简单,就是输入一组数据,输出出现次数过半的数
根据这个题我们也可以写出另一个题,(题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;
}
这是第二个代码输出结果
如有错误或者不合理的地方欢迎各位大佬指出,谢谢