选票统计(votes)c++

输入
第一行:一个数,表示n个运动员;
第二行开始为一组以空格隔开的选票,选票值为1到n间的数,以-1为数据结束标志。选票数量不超出长整型范围。
(1<=n<=1000)

输出
按编号顺序输出编号和票数。

样例输入:
3
3 1 2 3 2 1 2 3 1 2 2 1 3 3 1 2 3 3 -1
样例输出:
1 5
2 6
3 7

供参考:

#include<stdio.h>

int main()
{
    int i, n, m;
    long int a[1001] = { 0 };
    scanf("%d", &n);
    if (n < 1 || n>1000) return 1;
    while (scanf("%d",&m)==1 && m != -1 )
    {
        if (m <= n) a[m]++;
    }
    for (i = 0; i < n+1; i++)
        if (a[i] != 0)
            printf("%d %ld\n",i,a[i]);
    return 0;
}