样例有一个没过,请大家看看代码哪里需要完善,谢谢!
```c
#include<stdio.h>
int main(){
char n[4]={'0','0','0','0'},ch;
int i=3,j,num,a=0,b=0,m;
scanf("%d",&m);//先把数字以字符串形式储存
while(m!=0){
n[i--]=m%10+'0';
m/=10;
}
while((a-b)!=6174){
a=0;
b=0;
for(i=3;i>0;i--){//冒泡排序,从大到小
for(j=0;j<i;j++){
if(n[j]<n[j+1]){
ch=n[j];
n[j]=n[j+1];
n[j+1]=ch;
}
}
}
for(i=0;i<=3;i++){//a代表从大到小排序时整数,遍历求a
if(i==0){
a+=n[i]-'0';
}else{
a=a*10+(n[i]-'0');
}
}
for(i=3;i>=0;i--){////b代表从大到小排序时整数,遍历求b
if(i==3){
b+=n[i]-'0';
}else{
b=b*10+(n[i]-'0');
}
}
if(a==b){
printf("%04d - %04d = 0000\n",a,b);
return 0;
}
num=a-b;
printf("%04d - %04d = %d\n",a,b,num);
i=3;
while(num!=0){//把新数字以字符串形式储存
n[i--]=num%10+'0';
num/=10;
}
for(i;i>=0;i--){
n[i]='0';
}
}
return 0;
}
```
输入一个长度不超过10的数字字符串,调整数组使奇数全部都位于偶数前面其他数字顺序不变。
输入格式:
例如输入“0123456789”
输出格式:
输出“1357902468”
输入样例:
在这里给出一组输入。例如:
0123456789
输出样例:
在这里给出相应的输出。例如:
1357902468
很抱歉,参考资料中没有与问题相关的代码内容,请提供代码内容以便解答。