小编arn*_*iks的帖子

用C中的scanf填充数组(最后输入的5个数字需要打印)

我的学校作业有问题,如下所示:

"编写一个程序,重复询问用户输入一个数字,如果用户的输入为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.

我究竟做错了什么?

c arrays pointers scanf

1
推荐指数
1
解决办法
421
查看次数

标签 统计

arrays ×1

c ×1

pointers ×1

scanf ×1