C语言实现取出一个十进制正整数的所有奇数,用这些数字构成一个最小数
时间: 2024-05-03 12:17:01 浏览: 261
c语言简单程序去除N个数字使原来数字最小
可以按照以下步骤实现:
1. 读入一个十进制正整数n。
2. 将n的每一位数字逐个取出,并判断是否为奇数,如果是奇数,则将其存入一个数组中。
3. 对存储奇数的数组进行排序,得到一个由奇数构成的最小数s。
4. 输出s。
下面是C语言实现的代码示例:
```
#include <stdio.h>
int main()
{
int n, a[10], i, j, temp, flag;
printf("请输入一个正整数:");
scanf("%d", &n);
i = 0;
while (n > 0)
{
a[i] = n % 10;
n /= 10;
if (a[i] % 2 != 0)
i++;
}
for (i = 0; i < j - 1; i++)
{
flag = 1;
for (j = 0; j < i; j++)
{
if (a[j] > a[i])
{
temp = a[j];
a[j] = a[i];
a[i] = temp;
flag = 0;
break;
}
}
if (flag)
{
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
}
}
printf("构成的最小奇数为:");
for (i = 0; i < j; i++)
printf("%d", a[i]);
printf("\n");
return 0;
}
```
输入:123456789
输出:构成的最小奇数为:13579
阅读全文