代码如下:
#include<stdio.h>
#define N 1000
//中位数
int main()
{
int a[N] = { 0 }, temp;
int i, n = 0, k, j;
while ((n<N)&&(scanf_s("%d", &a[n++]) != EOF))
if (getchar() == '\n')
break;
for (i = 0; i < n - 1; i++)
{
k = i;
for (j = i + 1; j < n; j++)
if (a[j] < a[k]) k = j;
if (k != i)
{
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
k = n / 2;
if (n % 2)
printf("%d\n", a[k]);
else
printf("%d\n", (a[k - 1] + a[k]) / 2);
return 0;
}
错误警告:
我把N调小一点试了一下,可以运行的问题不大,就是除以二那里最好用浮点数表示
vs里得格式化输入输出
printf("%d\n",a[k],1);