
样例输入#
2 1990 1111
样例输出#
5 0
分离整数与合并
AC代码
#include<stdio.h>
//判断四个数码是否相等 
int Judge(int n){
	int flag=1;
	int g=n%10,s=n/10%10,b=n/100%10,q=n/1000;
	if(g==s&&g==b&&g==q)flag=0;
	return flag;
}
int main(){
	int T;
	scanf("%d",&T);
	while(T--){
		int n;
		scanf("%d",&n);
		int cnt=0;
		while(Judge(n)){
			int i,j=0,t,a[5]={};
		    while(n){
			   a[j]=n%10;
			   n/=10;
			   j++;
		    }
		    for(i=0;i<3;i++){
		    	for(j=i+1;j<4;j++){
				//从小到大排 
				  if(a[i]>a[j]){
				  	t=a[i];
					a[i]=a[j];
					a[j]=t;
				   }
			   }
		    }
		    int up=0,down=0;
		    for(i=0;i<4;i++){
			  up*=10;
			  up+=a[i];
		    } 
		    for(i=3;i>=0;i--){
			  down*=10;
			  down+=a[i];
	     	} 
		    cnt++;
		    int sum=down+up,k=0;
		    while(sum){
		    	a[k]=sum%10;
		    	sum/=10;
		    	k++;
			}
		    n=0;
			for(i=3;i>=0;i--){
			  n*=10;
			  n+=a[i];
		    } 
		}
		printf("%d\n",cnt);
	}
}  
                


















