对一个5位数的任意整数,使用指针求出其降序数。
时间: 2024-02-15 19:05:35 浏览: 68
好的,下面是使用指针求一个5位数整数的降序数的C语言代码实现:
```c
#include <stdio.h>
void descending_order(int *num) {
int i, j, temp;
for (i = 0; i < 4; i++) {
for (j = i + 1; j < 5; j++) {
if (*(num + j) > *(num + i)) {
temp = *(num + j);
*(num + j) = *(num + i);
*(num + i) = temp;
}
}
}
}
int main() {
int num, i, digits[5];
printf("请输入一个5位整数:");
scanf("%d", &num);
for (i = 0; i < 5; i++) {
digits[i] = num % 10;
num /= 10;
}
descending_order(digits);
printf("降序数为:");
for (i = 0; i < 5; i++) {
printf("%d", digits[i]);
}
printf("\n");
return 0;
}
```
在这个程序中,我们首先输入一个5位整数,然后将其各个位上的数字存储到一个整型数组digits中。接着,我们使用指针来实现降序排序,从而得到降序数。
在descending_order函数中,我们使用双重循环来进行降序排序。外层循环从第一位开始,内层循环从下一位开始,找到比当前位上数字更大的数字,然后交换它们的值。这个过程使用指针来访问数组元素。
最后,我们输出排好序的digits数组,从而得到降序数。
希望能帮到你,如果还有其他问题或疑问,欢迎继续提问。
阅读全文