题目 3:输入3 个整数 a,b,c,要求按由大到小的顺序将它们输出。用函数实现。(使用指针)
时间: 2024-12-23 07:17:43 浏览: 35
题目3要求我们编写一个函数,接收三个整数a、b和c作为输入,然后按照从大到小的顺序打印这三个数。由于使用了指针,我们可以直接操作输入整数数组的内存地址,而无需创建额外的副本。这里是一个简单的C语言函数示例:
```c
#include <stdio.h>
void sortInDescendingOrder(int* nums, int count) {
if (count >= 2) { // 如果有至少两个元素
int temp; // 用于交换的临时变量
for (int i = 0; i < count - 1; i++) {
// 使用指针比较并交换相邻元素
if (*nums > *(nums + 1)) {
temp = *nums;
*nums = *(nums + 1);
*(nums + 1) = temp;
}
}
}
// 打印结果
for (int i = 0; i < count; i++) {
printf("%d ", nums[i]);
}
}
int main() {
int a, b, c;
printf("请输入三个整数(空格分隔): ");
scanf("%d %d %d", &a, &b, &c);
int arr[3] = {a, b, c};
sortInDescendingOrder(arr, 3); // 调用函数
return 0;
}
```
在这个例子中,`sortInDescendingOrder` 函数接受一个指向整数数组的指针和数组长度,通过两层循环遍历数组,并根据需要进行元素交换,以得到降序排列。然后,在`main`函数中获取用户输入的三个整数,存入数组,并调用这个排序函数。
阅读全文