写一个子函数,实现两整数数值交换的功能。在主函数中输入3个数,要求通过三次调用子函数实现由大到小的顺序输出。(请用指针的知识完成题目)
时间: 2023-04-24 19:03:10 浏览: 146
以下是实现两整数数值交换的子函数:
```
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
在主函数中,输入三个数并通过三次调用子函数实现由大到小的顺序输出:
```
int main() {
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
if (a < b) {
swap(&a, &b);
}
if (a < c) {
swap(&a, &c);
}
if (b < c) {
swap(&b, &c);
}
printf("%d %d %d\n", a, b, c);
return ;
}
```
相关问题
编写函数实现将两个整数交换存储,在主函数中输入任意两个整数,调用该函数,分别输出交换前后的两个数。
以下是Python代码实现:
```python
def swap(a, b):
temp = a
a = b
b = temp
return a, b
x = int(input("请输入第一个整数:"))
y = int(input("请输入第二个整数:"))
print("交换前:x =", x, ", y =", y)
x, y = swap(x, y)
print("交换后:x =", x, ", y =", y)
```
输出:
```
请输入第一个整数:10
请输入第二个整数:20
交换前:x = 10 , y = 20
交换后:x = 20 , y = 10
```
编写自定义函数实现两个数据的交换,在主函数中输入任意三个数剧调用函数对这个三个数据从大到小排序
可以使用以下代码实现两个数据的交换:
```python
def swap(a, b):
temp = a
a = b
b = temp
return a, b
def sort_descending(a, b, c):
if a < b:
a, b = swap(a, b)
if b < c:
b, c = swap(b, c)
if a < b:
a, b = swap(a, b)
return a, b, c
# 在主函数中输入三个数
num1 = int(input("请输入第一个数: "))
num2 = int(input("请输入第二个数: "))
num3 = int(input("请输入第三个数: "))
# 调用函数对三个数据从大到小排序
sorted_num1, sorted_num2, sorted_num3 = sort_descending(num1, num2, num3)
print("从大到小排序后的结果为:", sorted_num1, sorted_num2, sorted_num3)
```
这段代码定义了两个函数:`swap` 和 `sort_descending`。`swap` 函数用于交换两个数的值,而 `sort_descending` 函数接受三个参数,对这三个数进行从大到小的排序,并返回排序后的结果。
在主函数中,我们输入三个数,并调用 `sort_descending` 函数对它们进行排序。最后,输出排序后的结果。