acm的题木pe了,怎么总是格式不对

img

img


acm上的题木pe了,怎么总是格式不对,大家帮忙看看吧。,=฿×~;×*[]

printf里面你有个空格,然后又输出一个空格,这就是两个空格了

最后的输出格式有问题吧,然后那个绝对值可以用 abs()函数,修改如下,供参考:

#include <stdio.h>
#include <stdlib.h>
int main()
{
     int a[101],n,i,j,t;
     while (scanf("%d", &n), n)
     {
         for (i = 0;i < n; i++)
             scanf("%d", &a[i]);
         for (i = n - 1; i > 0; i--)
         {
             for (j = 0;j < i;j++)
             {
                 if (abs(a[j]) < abs(a[j+1]))
                     t=a[j],a[j]=a[j+1],a[j+1]=t;
             }
         }
         for (i = 0;i < n; i++)
             printf(i == 0 ? "%d" : " %d", a[i]);
         printf("\n");
     }
     return 0;
}

img

多输出了一个空格,所以格式有问题,删掉就行了,就是最后一个for那里

最后a[c]的输出把%d后面的空格去掉就行了