Time Limit: 1000 ms Memory Limit: 65536 KiB
Problem Description
小鑫非常喜欢运动,有一次小鑫去参加110米栏的比赛,一共有10名比赛选手,小鑫是1号,由于跑的太专注,最后冲线的时候不知道自己是第几名,只知道每个人最后的成绩,聪明的你可不可以帮帮他?
Input
多组输入。
先输入一个10,
然后每组输入10个整数,代表10个选手的110米栏成绩m,代表1号到N号的N个选手的成绩m,m范围是(0 < m < 100)。
Output
输出只有一行,代表小鑫最后的名次是多少。
因为小鑫长得丑,成绩相同时,他总是排在前面。
Sample Input
10
2 5 3 9 7 10 23 12 43 5
10
6 1 7 9 3 4 8 3 2 9
Sample Output
1
6
Hint
Source
本题可以用排序来做,将10个数排序后,寻找与输入的第一个数相同的数所在的位置,但这种方法太过复杂。所以可以考虑将后九个数与第一个数比较,a[i]<a[0],便加“1”,注意不是a[i]<=a[0],因为题中“因为小鑫长得丑,成绩相同时,他总是排在前面。”
#include <stdio.h>
#include <stdlib.h>
int main()
{
int n;
int i;
int a[10];
while(~scanf("%d",&n))
{
int count = 1; //因为要多组输入,所以计数变量在每一次输入时都要初始化;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=1;i<10;i++)
if(a[i]<a[0]) //因为是跑步,所以时间越长排名越靠后;
count++;
printf("%d\n",count);
}
return 0;
}
10
2 5 3 9 7 10 23 12 43 5
1
10
6 1 7 9 3 4 8 3 2 9
6
^Z
Process returned 0 (0x0) execution time : 5.957 s
Press any key to continue.