PTA 7-88 组合成最小的三位数
分数 15
作者 iwyou
单位 郑州轻工业大学
输入一个三位数的正整数,将数字位置重新排列,组成一个尽可小的三位数。
输入格式:
输入一个三位的正整数。
输出格式:
输出组合之后最小的三位值正整数。
输入样例:
315
输出样例:
135
代码长度限制
16 KB
时间限制
400 ms
内存限制
64 MB
代码:
#include <stdio.h>
int main(){
int Intager;
int unit, decade, hunder;
int min, max, other;
scanf("%d", &Intager);
unit = Intager % 10; //取出个位
decade = (Intager % 100 - unit) / 10; //取出十位
hunder = Intager / 100; //取出百位
//找出最小的数
min = unit > decade ? decade : unit;
min = min > hunder ? hunder : min;
//找出最大的数
max = unit > decade ? unit : decade;
max = max > hunder ? max : hunder;
//中间的数
other = unit + decade + hunder - min - max;
if(min == 0 && other == 0){ //除了最大的数都为0时
Intager = max * 100;
printf("%d", Intager);
}else if(min == 0){ //最小的数为0时
Intager = other * 100 + max;
printf("%d", Intager);
}else{//其他情况
Intager = min * 100 + other * 10 + max;
printf("%d", Intager);
}
return 0;
}
解题思路:
step1:取出输入三位整数的个,十,百位
step2:找出最小,最大和中间数
step3:判断特殊情况
step4:输出
归属知识点:
条件判断语句