输入一个正整数N,用选择法将N上的数字由大到小排列(C语言)
时间: 2024-05-13 10:19:10 浏览: 131
以下是一个简单的选择排序的C语言实现,可以实现将一个正整数N上的数字由大到小排列:
```c
#include <stdio.h>
int main() {
int n, i, j, temp;
int digits[10]; // 存储N上的每一位数字
printf("请输入一个正整数:");
scanf("%d", &n);
// 将N上的每一位数字存储在数组中
i = 0;
while (n > 0) {
digits[i] = n % 10;
n = n / 10;
i++;
}
// 使用选择排序将数字由大到小排列
for (i = 0; i < 10 - 1; i++) {
for (j = i + 1; j < 10; j++) {
if (digits[i] < digits[j]) {
temp = digits[i];
digits[i] = digits[j];
digits[j] = temp;
}
}
}
// 输出排列后的数字
printf("排列后的数字为:");
for (i = 0; i < 10; i++) {
printf("%d", digits[i]);
}
return 0;
}
```
注意,上述代码中将N上的每一位数字存储在了一个长度为10的数组中,因此只能处理小于等于10位数的正整数。如果需要处理更大的数字,需要相应地修改数组的长度。
阅读全文