交换数字,不用函数实现(指针) 题目描述 输入a和b两个整数,按先大后小的顺序输出a和b。 要求不交换整型变量的值,而是交换两个指针变量的值(即a和b的地址) 要求不能用函数实现。 输入 a=a的值,b=b的值 输出 max=a和b的较大值,min=a和b的较小值
时间: 2023-08-07 18:02:36 浏览: 49
以下是交换数字的代码,使用了指针变量而非交换整型变量的值:
```c++
#include <iostream>
using namespace std;
int main() {
int a, b;
int* p1 = &a;
int* p2 = &b;
int* temp;
cin >> a >> b;
if (*p1 < *p2) {
temp = p1;
p1 = p2;
p2 = temp;
}
cout << "max=" << *p1 << ",min=" << *p2;
return 0;
}
```
解释一下代码的实现过程:
首先,定义了两个整型变量 a 和 b,以及两个指针变量 p1 和 p2,分别指向 a 和 b 的地址。
然后,通过输入获取 a 和 b 两个整数的值。
接下来,判断 a 和 b 的大小,如果 a 小于 b,则交换 p1 和 p2 的值,使得 p1 存储的是 a 的地址,p2 存储的是 b 的地址。
最后,输出 p1 和 p2 指向的值,即 max 和 min。
相关问题
用c语言输入a和b两个整数,按先大后小的顺序输出a和b。要求用指针变量和函数实现
好的,我可以帮你写这个程序。这里是用指针变量和函数实现的代码:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sort(int *a, int *b) {
if (*a < *b) {
swap(a, b);
}
}
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
sort(&a, &b);
printf("先大后小的顺序输出为:%d %d\n", a, b);
return 0;
}
```
这个程序定义了两个函数:`swap` 和 `sort`。`swap` 函数用于交换两个指针变量所指向的值,`sort` 函数用于比较两个指针变量所指向的值的大小,并根据大小关系调用 `swap` 函数。在主函数中,我们调用 `sort` 函数来完成排序,并输出结果。
c语言输入a和b两个整数,按先大后小的顺序输出a和b。要求用指针变量实现。
可以通过比较a和b的大小,然后交换它们的值来实现先大后小的输出顺序。代码如下:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
int main() {
int a, b;
printf("请输入a和b的值:");
scanf("%d %d", &a, &b);
if (a < b) {
swap(&a, &b);
}
printf("按照先大后小的顺序输出a和b的值为:%d %d", a, b);
return 0;
}
```
首先,我们声明了一个 `swap` 函数,用于交换两个整数的值。在 `main` 函数中,我们使用 `scanf` 函数从标准输入中读取用户输入的值,并将其分别存储在 `a` 和 `b` 变量中。然后,我们使用 `if` 语句判断 `a` 是否小于 `b`,如果是,则调用 `swap` 函数交换 `a` 和 `b` 的值。最后,我们使用 `printf` 函数按照先大后小的顺序输出 `a` 和 `b` 的值。注意,在调用 `swap` 函数时,需要使用 `&` 运算符获取变量的地址,以便在函数内部修改变量的值。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)