输入一个6位正整数,求出该数各位数字组成的最大数,例如输入358691,各位数字构成的最大数是986531.c语言
时间: 2024-12-11 14:20:05 浏览: 13
在C语言中,你可以通过以下步骤实现这个功能:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int num, max_num = 0; // 初始化最大数为0
char digits[7]; // 存储每一位数字
printf("请输入一个6位正整数: ");
scanf("%d", &num);
// 检查输入是否合法
if (num >= 0 && num < pow(10, 6)) {
while (num > 0) {
digits[num % 10] = '0' + num % 10; // 取余数并转换为字符存入数组
num /= 10;
}
digits[6] = '\0'; // 结束字符串
int current_max = atoi(digits); // 转换回整数形式
if (current_max > max_num) {
max_num = current_max;
}
} else {
printf("输入错误, 请确保输入的是一个6位正整数.\n");
}
printf("各位数字组成的最大数是: %d\n", max_num);
return 0;
}
```
在这个程序中,我们首先读取用户的输入,并将每一位数字存储到`digits`字符数组中。然后,我们将数组内容转换回整数比较,更新最大值。最后,输出组成的最大数。
阅读全文