个人认为这道题oj出得不太好,题目说明十分不清晰,难以让做题人琢磨,值得改进。
思路:
运行结果:
源代码:
#include
void sort(int n, int arr[])
{
int i = 0;
int j = 0;
int tmp = 0;
for (i = 0; i < n - 1; i++)
{
for (j = 0; j < n - i - 1; j++)
{
if (arr[j] <= arr[j + 1])
{
tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}//利用冒泡排序
//for (i = 0; i < (n - 1); i++)
//{
// for (j = i + 1; j < n; j++)
// {
// if (arr[i] < arr[j])
// {
// tmp = arr[i];
// arr[i] = arr[j];
// arr[j] = tmp;
// }
// }
//}//比较排序
}
int lookup(int n, int need, int arr[])
{
int i = 0;
int j = 0;
while (i < n)//用for循环,oj就无法通过,真是让人无语
{
if (need == arr[i])
{
j++;
break;
}
i++;
}
if (j != 0)
printf("%dn", i + 1);
else
printf("no this score!n");
return 0;
}
int main()
{
int n = 0;
int i = 0;
int j = 0;
int arr[50];
int need = 0;
while (scanf("%d", &n) != EOF)
{
for (i = 0; i < n; i++)
{
scanf("%d", &arr[i]);
}
scanf("%d", &need);
sort(n, arr);
for (i = 0; i < n; i++)
{
printf("%d", arr[i]);
if ((i + 1) % 10 == 0 || i == (n - 1))
{
printf("n");
}
else
{
printf(" ");
}
}
lookup(n, need, arr);
}
return 0;
}



