#include
int main()
{
int n,a[100],i,b[101];//b表示i号人送的花数
int max=-1;
//while(scanf("%d",&n)!=EOF)//scanf返回值是正确传入的参数个数,这里正常就是一直1,除非输入的不是数字就会返回0也不等于EOF,肯定会死循环的
while(scanf("%d", &n))//这里可以输入一个不是数字的值,如一个字母就会跳出来了
{
for(i=0;i<101;i++)
b[i]=0;
for(i=0;i
{
scanf("%d",&a[i]);
}
/*
for(int j=0;j<=100;j++)
{
for(i=0;i
{
if(a[i]==j)
b[j]++;
}
if(b[j]==j&&b[j]>=max)//没看懂max的作用,应该不用两层循环
max=b[j];
}
*/
for(i=0;i
{
b[a[i]]++;//这样就完成计数了啊,因为a[i]的值就是b里面的数组下标
}
for (i = 0; i <= 100; i++) {//遍历吊死表,谁的标号和玫瑰数相等就输出标号
if (b[i] == i){
printf("%d ", i);
}
}
printf("\n");
}
return 0;
}
追问
你这样提交后显示 “运行错误”啊
追答
不会吧,我是验证了才提上来的啊
温馨提示:答案为网友推荐,仅供参考