char * reformat(char * s){ int alpha = 0,digit = 0,dindex,aindex,i; int len = strlen(s); char* str = (char*)calloc(len*2+1,sizeof(char)); for(i=0; i<len; i++){ (s[i]>='0' && s[i]<='9') ? digit++ : alpha++; } if(abs(digit-alpha) > 1) return ""; if(digit >= alpha) dindex=0, aindex=1; else dindex=1, aindex=0; for(i=0; i<len; i++){ if(s[i]>='0' && s[i]<='9'){ str[dindex] = s[i]; dindex+=2; } else{ str[aindex] = s[i]; aindex+=2; } } return str; }