使用c语言完成任务:任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531
时间: 2024-05-08 10:15:45 浏览: 18
```c
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num, digit, max_digit = 0, max_num = 0;
printf("请输入一个自然数:");
scanf("%d", &num);
while (num > 0) {
digit = num % 10; // 取出最低位数字
if (digit > max_digit) {
max_digit = digit;
}
num /= 10; // 去掉最低位数字
}
num = max_digit; // 最高位数字为最大数字,先将其存储在num中
max_digit = 0; // 重新初始化max_digit
while (num > 0) {
digit = num % 10; // 取出最低位数字
if (digit > max_digit) {
max_digit = digit;
}
max_num = max_num * 10 + digit; // 构造最大数
num /= 10; // 去掉最低位数字
}
while (max_digit > 0) {
digit = max_digit % 10; // 取出最低位数字
max_num = max_num * 10 + digit; // 构造最大数
max_digit /= 10; // 去掉最低位数字
}
printf("最大数为:%d\n", max_num);
return 0;
}
```