题目 HDU 1235 统计同成绩学生人数
解题思路:水题 ,看代码
93MS代码
#include<stdio.h>
#include<stdlib.h>
#define MAX 1010
int cmp(const void *i, const void *j)
{
return *(int*)i-*(int *)j;
}
int a[MAX];
int main()
{
int N,i,count,j;
while(~scanf("%d",&N)&&N!=0)
{
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
qsort(a,N,sizeof(int),cmp);
scanf("%d",&j);
for(i=0,count=0;i<N;i++)
{
if(j==a[i])
count++;
if(a[i+1]>j)
break;
}
printf("%d\n",count);
}
return 0;
}
46MS代码
#include<stdio.h>
#include<stdlib.h>
#define MAX 1010
int a[MAX];
int main()
{
int N,i,count,j;
while(~scanf("%d",&N)&&N!=0)
{
for(i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
scanf("%d",&j);
for(i=0,count=0;i<N;i++)
{
if(j==a[i])
count++;
}
printf("%d\n",count);
}
return 0;
}
本文介绍了解决HDU1235题目的一种方法,通过读取输入成绩并统计特定成绩出现的次数。提供了两种代码实现方案,一种使用了快速排序优化查找过程,另一种则直接遍历数组进行计数。
3178

被折叠的 条评论
为什么被折叠?



