View Code of Problem 10

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
	int n,i,j;
	scanf("%d",&n);
	int a[5];
	while(n--){
		for(i=0;i<4;i++){
			scanf("%d",&a[i]);
		}
		for(i=0;i<4;i++){
			if(a[i]==a[i+1]){
				a[i+1]=a[i]*2;
				a[i]=0;
			}
		}
		for(j=3;j>=0;j--)
		{
			if(a[j]==0)
				for(i=j-1;i>=0;i--)
				{
					if (a[i]>0)
					{
						a[j]=a[i];
						a[i]=0;
						j--;
					}
				}
		}//整体右靠 
		for(i=0;i<4;i++){
			printf("%d",a[i]);
			if(i<3){
				printf(" ");
			}
		}
		printf("\n");
	}
}

Double click to view unformatted code.


Back to problem 10