用c++语言写出代码 输入两个整数,并使其从大到小输出,用指针变量实现数的比较
时间: 2023-12-19 12:50:33 浏览: 28
```c
#include <stdio.h>
void swap(int *a, int *b);
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d%d", &a, &b);
if (a < b) {
swap(&a, &b);
}
printf("%d %d\n", a, b);
return 0;
}
void swap(int *a, int *b) {
int temp;
temp = *a;
*a = *b;
*b = temp;
}
```
相关问题
指针变量的应用:输入两个整数,按从大到小输出(用指针变量)
好的,这是一个简单的指针变量的应用题目。以下是 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++写从键盘上输入三个整数a,b,c的值,要求用指针变量作为函数参数,通过函数调用实现对三个数按从大到小顺序排序。
好的,下面是实现代码:
```c++
#include<iostream>
using namespace std;
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;
cout << "请输入三个整数:" << endl;
cin >> a >> b >> c;
int* pa = &a;
int* pb = &b;
int* pc = &c;
sort(pa, pb, pc);
cout << "排序后的结果为:" << *pa << " " << *pb << " " << *pc << endl;
return 0;
}
```
解释一下,`swap` 函数是用来交换两个整数的值的,`sort` 函数则是通过比较大小,调用 `swap` 函数来实现对三个整数的排序。在 `main` 函数中,首先输入三个整数,然后分别将它们的地址赋给指针变量 `pa`、`pb`、`pc`,最后调用 `sort` 函数对它们进行排序,输出结果即为排序后的三个数。