C语言问题 将所有大写字母转换为小写问题,球编程1下

请问这个应该怎么做?第一张是原题,第二张是机翻,要求只能用getchar,putchar 。请帮我编写1下,蟹蟹。

供参考:

#include<stdio.h>
int main()
{
    char ch;
    while ((ch = getchar()) != EOF)
    {
        if (ch >= 'A' && ch <= 'Z')
            ch = ch + 32;
        putchar(ch);
    }
    return 0;
}

#include<stdio.h>

int main(int argc, const char *argv[])
{
    char a;
    a=getchar();
    if(a>=65&&a<=90)
        putchar(a+32);
    else
        printf("error\n");
    return 0;
}

用ASCII码来计算,在ASCII码表中大写字母与小写字母差32