这个要怎么用C语言编啊

来源:百度知道 编辑:UC知道 时间:2024/09/28 12:50:02
已知给定20个四位数,并存入数组a中,要求求出千位数上的数减百位数上的数减十位数上的数减个位数上的数大于零的个数CNT,再把所有满足此条件的四位数依次存入数组bb中,然后对数组bb的四位数按小到大的顺序进行排序

#include<stdio.h>
#define N 20
main()
{
long int a[N]={1235,5646,1000,5002},bb[N]={0};
long int k;
int i,j,m,cnt;
int q,b,s,g,ch;
for(i=0,j=0;i<N;i++)
{ g=a[i]%10;
s=(a[i]/10)%10;
b=(a[i]/100)%10;
q=a[i]/1000;
ch=q-b-g-s;
if(ch>0)
bb[j++]=a[i];
}
cnt=j;
for(i=0;i<=cnt;i++)
{
k=bb[i];
for(j=i+1;j<=cnt;j++)
if(k>bb[j])
k=bb[j];
if( k!=bb[i])
{
bb[j]=bb[i];
bb[i]=k;
}
}
printf("%d\n",cnt);
for(i=0;i<=cnt;i++)
printf("%6d",bb[i]);
}