用c将大写字母转化为小写字母

题目
Problem Description
一丁小朋友刚刚学英文,书写单词的时候,常常混用大小写字母。
比如,“hello”有可能写成了“hELLo”。

为了帮助一丁小朋友规范化英文单词的书写,作为信息学奥林匹克竞赛的爱好者,请编程输出对应的小写字母组成的单词。
Input
输入数据首先包含一个正整数N,表示有N组测试用例。
每组测试用例占一行,包含一个长度不超过30的单词。
Output
请输出全部由小写字母组成的对应单词。
每组输出占一行。
Sample Input
2
hELLo
ILoveNoip
Sample Output
hello
ilovenoip

我的代码

#include <stdio.h>
#include<string.h>
int main()
{
    char a[31];
    int n;
    scanf("%d",&n);
    while (n--)
    {
        scanf("%s",a);
        int len;
        len=strlen(a);
        for(int i=0;i<len;i++)
        {
            if(a[i]>'A' && a[i]<'Z')
            a[i]+=32;
        }
        printf("%s\n",a);

    }
    return 0;
 }

一直说答案错误,但是我看不出来是哪里错了

改成大于等于和小于等于