View Code of Problem 10

#include<stdio.h>
int main()
{
    int n;
    int a[4];//读入数据
    int i, j;
    int lenb, lenc;
    int b[4];//非0数据
    int c[4];//输出数据

    scanf ("%d",&n);

    for (i=0; i<n; i++)
    {
        for (j=0; j<4; j++)
        {
            scanf("%d", &a[j]);
        }

        lenb = 0;
        for (j=3; j>(-1); j--)
        {
            if (a[j] != 0)
            {
                b[lenb] = a[j];//坐标出错过
                lenb++;
            }
        }
        
        lenc = 0;
        for (j=0; j<lenb; j++)
        {
            if ( (b[j]==b[j+1]) && j<(lenb-1) )
            {
                c[lenc] = b[j] * 2;
                j++;
            }
            else
                c[lenc] = b[j];
            lenc++;
        }
        for (j=lenc; j<4; j++)
            c[j] = 0;

        for (j=3; j>0; j--)
            printf("%d ", c[j]);
        printf("%d\n", c[0]);
    }
    return (0);
}

Double click to view unformatted code.


Back to problem 10