自编的一个c语言编程题

横着排列1到10个格子,随意打5发子弹全中,找出每发子弹相邻最近的空格子序号数,我已编了一半,但剩一半没思路,希望有人帮我解惑,在此感谢。

 int n[10];
for (int i = 0; i < 10; i++) n[i] = 0;
for (int i = 0; i < 5; i++)
{
printf("请输入打中子弹格子序号");
int x;
scanf("%d" &x);
n[x] = 1;
}
printf("要找哪发子弹?");
int x;
scanf("%d" &x);
int t = x;
while (t >= 0 && n[t--] != 0);
printf("%d ", t);
t = x;
while (t < 10 && n[t++] != 0);
printf("%d ", t);