咋做呀,大一新手程序员,求答

输入1个四位数,将其加密后输出。
方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,
最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。
例:括号内是说明
输入
1257
输出
The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)

供参考:

#include<stdio.h>
#define N 4
int main()
{
    int n, m, a[N], i = 0;
    scanf("%d", &n);
    m = n;
    while (m)
    {
        a[i++] = (m % 10 + 9) % 10;
        m /= 10;
    }
    m = a[0], a[0] = a[2], a[2] = m;
    m = a[1], a[1] = a[3], a[3] = m;
    printf("The encrypted number is ");
    while (i--)
        printf("%d", a[i]);
    return 0;
}


#include <stdio.h>

int main()
{
    int i = 0;
    int arr[4];
    printf("请输入一个4位数:");
    //读取4位数字
    for(i=0;i<4;i++)
    {
        scanf("%1d",&arr[i]);
    }
    //加9模10
    for(i=0;i<4;i++)
    {
        arr[i] += 9;
        arr[i] = arr[i]%10;
    }
    //交换位置
    for(i=0;i<4;i++)
    {
        int tmp;
        if(i==0||i==1)
        {
            tmp = arr[i];
            arr[i] = arr[i+2];
            arr[i+2] = tmp;
        }
    }
     //输出结果
    printf("The encrypted number is ");
    for(i=0;i<4;i++)
    {
        printf("%d",arr[i]);
    }

    printf("\n");
    return 0;
}

#include <stdio.h>
int main()
{
    int n;
    int i,a[4];
    scanf("%d",&n);
    a[3] = n%10;
    a[2] = n/10%10;
    a[1] = n/100%10;
    a[0] = n/1000;

    for(i=0;i<4;i++)
    {
        a[i] += 9;
        a[i]%= 10;
    }
    i = a[0];
    a[0]=a[2];
    a[2]=i;
    i = a[1];
    a[1]=a[3];
    a[3]=i;
    printf("The encrypted number is ");
    for (i=0;i<4;i++)
        printf("%d",a[i]);
    return 0;
}