要注意的是题目里A是一直小于等于B的,格式错误,我找了好几遍,测试了好几次都找不出错误
这里有个右对齐的要求 把输出时的5d改成-5d 试试
题主的代码问题在第33行,最后输出换行printf("\n"); 这里需加一判断,如果前面输出数的个数刚好是5的倍数,这里就多输出了一行换行。修改如下,供参考:
#include <stdio.h>
int main()
{
int A, B, i, t, sum;
scanf("%d%d", &A, &B);
if (A > B)
t = A, A = B, B = t;
for (i = A, sum = 0, t = 0; i <= B; i++) {
sum += i;
printf(++t % 5 == 0 ? "%5d\n" : "%5d", i);
}
if (t % 5 != 0) printf("\n");
printf("Sum = %d", sum);
return 0;
}