在巩固中遇到了疑问,许久未解决

刚学C语言不久,遇到PTA上的一道C语言题目:
给定两个整数A和B,输出从A到B的所有整数以及这些数的和。

输入格式:
输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。

输出格式:
首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。
输入样例:
-3 8
输出样例:
-3 -2 -1 0 1
2 3 4 5 6
7 8
Sum = 30

我的尝试解法:

#include 
int main()
{
    int A,B;
    int sum=0,count=0;
    scanf("%d %d",&A,&B);
    while(A<=B)
    {
        sum+=A;
        printf("%5d",A);
        count++;
        if(count%5==0){
            printf("\n");
        }
        A++;
    }
    printf("\n");
    printf("Sum = %d\n",sum);
    return 0;
}

最后提示在只输入一行的情况下,格式错误,请问该怎么改进呢?

只输入一行的情况下,你会输出两个换行符
对最后的printf("\n");加上一个判断
if(count%5 != 0)
printf("\n");

第17行:printf("\n"); 修改为:if(count%5!=0) printf("\n");