想将循环的结果存到数组里面,但是最后数组打印出来是-858993460

#include<stdio.h>
int main(void)
{
int x, y, n, m, k = 1, per, all, pay;
int box[30];

scanf_s("%d", &x);
for (all = 0, y = 1; y <= x; y = y + 1)
{
    scanf_s("%d", &n);
    for (m = 1; m <= n; m = m + 1)
    {
        scanf_s("%d", &per);
        all = all + per;
    }
    if (all < 100)
        pay = all;
    else if (all >= 100 && all < 200)
        pay = all - 30;
    else if (all >= 200 && all < 300)
        pay = all - 70;
    else if (all >= 300 && all < 400)
        pay = all - 110;
    else
        pay = all - 160;
    box[m] = pay;
}
for (m = 0; m < x; m++)
{
    printf("%d\n", box[m]);
}


return 0;

}

    for (m = 0; m < n; m = m + 1)

数组下标是从0开始的。m应该从0循环到n-1

20行改为box[x-1]=pay;
你一直给pay[m]赋值肯定不对啊