C语言有没有人帮啊😰

输出自己的12位学号和姓名,然后把自己的22位学号的每一位数字,存储在一个一维数组中,作为数组的12个数组元素,先输出12个数组元素,再计算12个数字之和并输出


#include<stdio.h>
#include <stdlib.h>
#include<string.h>
int main()
{
    char number1[13]="\0";                     //负责接收学号
    int number2[12];                                 //学号转换后接收
    char name[10]="\0";                         //储存名字
    int i;                                                     //充当循环变量
    int sum;                                            //求和变量
    char num1[6]="\0", num2[6]="\0";    //12为太长了,我们用两个六位存贮,之后转换为数字处理    
    int num3, num4;                                //接收两个六位数字
    printf("请输入学号:\n");
    gets(number1);
    for (i = 0; i < 6; i++)                            //分给num1.num2
    {
        num1[i] = number1[i];
        num2[i] = number1[i + 6];
    }
    printf("请输入姓名:");
    gets(name);
    num3 = atoi(num1);                            //将两个六位转换为数字,以转换为数组
    num4 = atoi(num2);
    for (i = 5, sum = 0; i >-1; i--)            //通过处理使其以12个元素形式储存在数组中
    {
        number2[i] = num3 % 10;
        num3 = num3 / 10;
    }
    for (i = 11; i >5; i--)            
    {
        number2[i] = num4 % 10;
        num4 = num4 / 10;
    }
    for (i = 0; i < 12; i++)
    {
        sum = sum + number2[i];                    //进行求和
    }
    printf("%s学号为:",name);
    for (i = 0; i < 12; i++)
    {
        printf("%d", number2[i]);
    }
    printf("和为:%d",sum);
    return 0;
}