我的学校作业有问题,如下所示:
"编写一个程序,重复询问用户输入一个数字,如果用户的输入为0,并且循环结束,则打印数组中的最后5个数字.如果扫描的数字少于5个,则未使用的值必须为0"
它应该看起来像这样:

这是我的代码:
int main()
{
int i, array[4] = {};
while(1)
{
printf("Next number: <0 = quit>: ");
scanf("%i", &i);
if(i!=0)
{
array[0] = array[1];
array[1] = array[2];
array[2] = array[3];
array[3] = array[4];
array[4] = i;
}
else
break;
}
for(i=0; i<=4; i++)
{
printf("Number %i is: %i\n", i+1, array[i]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是当我打印数字时,最后一个数字(数组[4])是0.
我究竟做错了什么?