指针变量的应用:输入两个整数,按从大到小输出(用指针变量)
时间: 2024-03-25 22:37:28 浏览: 26
好的,这是一个简单的指针变量的应用题目。以下是 C++ 代码实现:
```cpp
#include <iostream>
using namespace std;
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int num1, num2;
int* ptr1 = &num1;
int* ptr2 = &num2;
cout << "请输入两个整数:" << endl;
cin >> num1 >> num2;
if (*ptr1 < *ptr2) {
swap(ptr1, ptr2);
}
cout << "从大到小排序后的结果是:" << endl;
cout << *ptr1 << " " << *ptr2 << endl;
return 0;
}
```
首先定义了两个整型变量 `num1` 和 `num2`,然后定义了两个指向 `num1` 和 `num2` 的指针变量 `ptr1` 和 `ptr2`。接着从标准输入流中读入两个整数,并进行判断,如果 `num1` 的值小于 `num2`,则调用 `swap` 函数交换两个指针所指向的变量的值。最后输出排序后的结果,即指针所指向的值。
需要注意的是,指针变量的使用需要谨慎,需要确保指针所指向的地址是合法的,否则会出现程序崩溃等问题。
相关问题
C语言用指针实现:输入3个整数,按由大到小的顺序输出
好的,这是一个比较基础的 C 语言问题,可以使用指针实现,具体代码如下:
```c
#include <stdio.h>
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
void sort(int *a, int *b, int *c) {
if (*a < *b) swap(a, b);
if (*a < *c) swap(a, c);
if (*b < *c) swap(b, c);
}
int main() {
int a, b, c;
printf("请输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("%d %d %d\n", a, b, c);
return 0;
}
```
在这个程序中,我们首先定义了一个 `swap` 函数,用于交换两个整数的值,它接受两个指向整数类型变量的指针作为参数。然后定义了一个 `sort` 函数,用于对输入的三个整数按由大到小的顺序进行排序,它接受三个指向整数类型变量的指针作为参数。
在 `main` 函数中,我们首先从标准输入读取三个整数,并将它们分别赋值给变量 `a`、`b` 和 `c`。然后调用 `sort` 函数,对它们进行排序。最后按照从大到小的顺序输出它们的值。
C语言编程用指针变量作为函数参数,实现:输入3个整数,按由大到小的顺序输出
好的,可以参考以下的C代码实现。
```
#include <stdio.h>
void sort(int *a, int *b, int *c);
int main() {
int x, y, z;
printf("请输入三个整数:");
scanf("%d %d %d", &x, &y, &z);
sort(&x, &y, &z);
printf("由大到小排序后的结果为:%d %d %d", x, y, z);
return 0;
}
void sort(int *a, int *b, int *c) {
int temp;
if (*a < *b) {
temp = *a;
*a = *b;
*b = temp;
}
if (*a < *c) {
temp = *a;
*a = *c;
*c = temp;
}
if (*b < *c) {
temp = *b;
*b = *c;
*c = temp;
}
}
```
这里定义了一个名为`sort`的函数,接收三个参数,分别为整型指针类型的`a`、`b`和`c`。在函数中,通过比较指针所指向的值的大小关系,实现了由大到小的排序。同时,由于传入的是指针变量,函数内部对变量的修改也会影响到外部变量的值。在主函数中,通过调用`sort`函数,实现了输入三个整数,并按要求输出的功能。