5.编写程序:输入一个3位正整数,分离各位数字,用分离出的每位数字组成一个最大数和一 个最小数,并显示输出。例如,输入186,则输出“186是3位数 按逆序组合的新数字为681,组成的最大数是861,最小数是168.
时间: 2023-03-24 22:03:03 浏览: 83
您好,我可以回答这个问题。以下是程序的实现:
#include <stdio.h>
int main() {
int num, digit1, digit2, digit3, max, min;
printf("请输入一个3位正整数:");
scanf("%d", &num);
digit1 = num / 100; // 获取百位数字
digit2 = num / 10 % 10; // 获取十位数字
digit3 = num % 10; // 获取个位数字
// 按逆序组合的新数字
printf("%d是3位数,按逆序组合的新数字为%d\n", num, digit3 * 100 + digit2 * 10 + digit1);
// 组成的最大数和最小数
max = digit1 > digit2 ? (digit1 > digit3 ? digit1 : digit3) : (digit2 > digit3 ? digit2 : digit3);
min = digit1 < digit2 ? (digit1 < digit3 ? digit1 : digit3) : (digit2 < digit3 ? digit2 : digit3);
printf("组成的最大数是%d,最小数是%d\n", max * 100 + (digit1 + digit2 + digit3 - max - min) * 10 + min, min * 100 + (digit1 + digit2 + digit3 - max - min) * 10 + max);
return ;
}
阅读全文