7-88 组合成最小的三位数
输入一个三位数的正整数,将数字位置重新排列,组成一个尽可小的三位数。
输入格式:
输入一个三位的正整数。
输出格式:
输出组合之后最小的三位值正整数。
输入样例:
315
输出样例:
135
#include <stdio.h>
int main() {
int a, max, mid, min;
scanf("%d", &a);
min = a % 10;
mid = a / 10 % 10;
max = a / 100;
if (min > mid) {
int temp = mid;
mid = min;
min = temp;
}
if (mid > max) {
int temp = max;
max = mid;
mid = temp;
}
if (min > mid) {
int temp = mid;
mid = min;
min = temp;
}
if (min == 0 && mid != 0) {
printf("%d", mid * 100 + max);
} else if (min == 0) {
printf("%d", max * 100);
} else {
printf("%d", min * 100 + mid * 10 + max);
}
return 0;
}
思路
- 最小三位数即,百位值为最小,个位值为最大的组合
- 分别取得这三位数,然后排序即可
- 因为题目要求组合三位数,故需要对各个位数进行判断是否为0