1、取出一个十进制正整数中的所以奇数数字,用这些数字构成一个最小数。
#includestdio.h
#includestdlib.h
void sort(int a[], int n)
{
int i, j, t;
for (i = 0;i n - 1;i++)
for (j = 0;j n - 1 - i;j++) /*利用双重循环,将数组按从小到大排列*/
if (a[j] a[j + 1])
{t = a[j];a[j] = a[j + 1];a[j + 1] = t; }
}
long arrange(long s) /*arrange函数的功能是取出十进制整数s中的所有奇数数字,用这些数字构成一个最小数,函数返回该数*/
{ int d, b[10], i, j = 0;
long s1 = 0;
while (s 0) /*利用循环对s数位分离,分离出个位、十位 、百位等各位上的数*/
{ d = s % 10;
if (d % 2 != 0) /*判断每一位上的数字是否为奇数*/
b[j++] = d; /*若为奇数则存放到b数组中*/
s /= 10;
}
sort(b, j); /*调用sort函数,将数组b从小到大排列*/
for (i = 0;i j;i++)
s1 = s1 * 10 + b[i]
原创力文档

文档评论(0)