2010年计算机等级考试C语言上机测试题(2)
![](http://www.onekao.net/templets/default/images/content_ad.gif)
个十百千重新排列,符合条件的数大小排序问题:
把千位数字和十位数字重新组成一个新的十位数ab(新十位数的十位数字是原四位数的千位数字,新十位数的个位数字是原四位数的十位数字),以及把个位数字和百位数字组成另一个新的十位数cd(新十位数的十位数字是原四位数的个位数字,新十位数的个位数字是原四位数的百位数字),如果新组成的两个十位数ab>cd,ab必须是偶数且能被5整除,cd必须是奇数,同时两个新数的十位数字均不为零,则将满足此条件的四位数按从大到小的顺序存入数组b中,并要计算满足上述条件的四位数的个数cnt。
void jsVal()
{
int i,j,k,A,B,C,D;
for(i=0;i {A=a[i]/1000;B=a[i]/10;C=a[i];D=a[i]/100;
if(A!=0&&C!=0&&(B==0)&&(D%2!=0)&&(10*A>10*C+D))
b[cnt++]=a[i];
}
for(i=0;i {k=i;
for(j=i+1;j if(b[k] if(k!=i){A=b[k];b[k]=b[i];b[i]=A;}
}
} #