输入一个整数,将其放入数组,再根据个位数进行轴对称如123 12321,输出新的数组

vc++6.0
救命,找的练习题,不知道哪里错了!也不知道正确的怎么写,请大家指个明路。让我知道正确的应该怎么写。

img

望采纳

#include <stdio.h>
#include <stdlib.h>

/* 输入整数 n,将其放入数组并返回数组长度 */
int input_array(int *arr, int n)
{
    int length = 0;
    while (n > 0) {
        arr[length] = n % 10;
        n /= 10;
        length++;
    }
    return length;
}

/* 对数组进行轴对称,并输出新的数组 */
void axis_symmetry(int *arr, int length)
{
    for (int i = 0; i < length; i++) {
        printf("%d", arr[i]);
    }
    for (int i = length - 2; i >= 0; i--) {
        printf("%d", arr[i]);
    }
    printf("\n");
}

int main()
{
    int n;
    printf("请输入一个整数:");
    scanf("%d", &n);

    int arr[100];
    int length = input_array(arr, n);

    axis_symmetry(arr, length);

    return 0;
}

for里的k=i少了个=
输出的k已经越界,数组输出用循环。
必须用数组么?用数组反倒复杂了。


int main()
{
    int n, s,t;
    scanf("%d", &n);
    s = n;
    n /= 10;
    while (n)
    {
        t = n % 10;
        s = s * 10 + t;
        n /= 10;
    }
    printf("%d", s);
    return 0;
}