字符输入为啥转化不对呀

img


这个哪里错了吗,有点迷惑,无论如何输入的第一个字母对应的数字都不对,附上代码

#include <math.h>

#include <stdio.h>

int min(int i, int j);

int main()

{

    char a[99];

    int b[99];

    int n, i, dc = 0, sum = 0;

    printf("数量为:");

    scanf("%d", &n);

    for (i = 1, a[0] = 'a',b[0]=a[0]; i <= n; i++)

    {

        printf("请输入字母:");

        scanf("%c\n", &a[i]);

        b[i] = a[i];

        dc = min(b[i], b[i - 1]);

        printf("%d,%d,%d\n", b[i], b[i - 1], dc);

        sum += dc;

    }

    printf("%d", sum);

    return 0;

}

int min(int i, int j)

{

    int a = 0, b = 0, c = 0;

    a = abs(i - j);

    b = abs(26 - abs(i - j));

    if (a > b)

    {

        c = b;

    }

    else

    {

        c = a;

    }

    return c;

}