键盘输入2个整数,从小到大进行输出(指针)
时间: 2024-02-13 16:06:58 浏览: 41
好的,以下是一个简单的实现:
```c
#include <stdio.h>
void sort(int *a, int *b) {
if (*a > *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
}
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d%d", &a, &b);
sort(&a, &b);
printf("从小到大排序后的结果为:%d %d\n", a, b);
return 0;
}
```
这个程序中定义了一个 `sort` 函数,用于将两个整数从小到大排序。在 `main` 函数中,我们通过指针将输入的两个整数传递给 `sort` 函数进行排序,然后再输出排序后的结果。
注意,使用指针时需要格外小心,避免指针空悬或者指针越界等问题。
相关问题
用指针变量按从小到大的顺序输出三个整数
可以使用指针变量和条件语句来实现按从小到大的顺序输出三个整数。具体步骤如下:
1. 定义三个整型变量a、b、c,并用scanf函数从键盘输入它们的值。
2. 定义三个指向整型变量的指针变量p1、p2、p3,并分别将它们指向a、b、c。
3. 利用条件语句和指针变量的比较运算,将三个指针变量按从小到大的顺序排列。
4. 按照排列后的顺序,依次输出三个整数的值。
下面是示例代码:
```
#include <stdio.h>
int main()
{
int a, b, c;
printf("请输入三个整数:\n");
scanf("%d%d%d", &a, &b, &c);
int *p1 = &a, *p2 = &b, *p3 = &c;
int *temp;
if (*p1 > *p2) {
temp = p1;
p1 = p2;
p2 = temp;
}
if (*p1 > *p3) {
temp = p1;
p1 = p3;
p3 = temp;
}
if (*p2 > *p3) {
temp = p2;
p2 = p3;
p3 = temp;
}
printf("按从小到大的顺序输出三个整数:\n");
printf("%d %d %d\n", *p1, *p2, *p3);
return 0;
}
```
运行结果:
```
请输入三个整数:
9 3 6
按从小到大的顺序输出三个整数:
3 6 9
```
用指针法实现对输入的3个整数排序,按从小到大的顺序输出。
### 回答1:
可以使用指针法实现对输入的3个整数排序,具体步骤如下:
1. 定义3个整型变量a、b、c,并从键盘输入它们的值。
2. 定义3个指向整型变量的指针pa、pb、pc,分别指向a、b、c。
3. 利用指针比较大小,将它们按从小到大的顺序排列。
4. 输出排列后的结果。
具体代码如下:
```
#include <stdio.h>
int main()
{
int a, b, c;
printf("请输入3个整数:\n");
scanf("%d%d%d", &a, &b, &c);
int *pa = &a, *pb = &b, *pc = &c;
int temp;
if (*pa > *pb) {
temp = *pa;
*pa = *pb;
*pb = temp;
}
if (*pa > *pc) {
temp = *pa;
*pa = *pc;
*pc = temp;
}
if (*pb > *pc) {
temp = *pb;
*pb = *pc;
*pc = temp;
}
printf("排序后的结果为:%d %d %d\n", *pa, *pb, *pc);
return ;
}
```
### 回答2:
对于用指针法实现对输入的3个整数排序,按从小到大的顺序输出,我们可以使用指针变量来实现。具体步骤如下:
1. 首先定义三个整型变量 a、b、c,用于存储用户输入的三个整数。
2. 然后定义三个指针变量 p1、p2、p3,分别指向 a、b、c。
3. 接下来使用 if 语句对三个整型变量进行比较,使得 p1 指向其中最小的数,p3 指向其中最大的数。
4. 然后在比较剩下两个数的大小,使 p2 指向中间的数。
5. 最后输出 p1、p2、p3 指向的三个数,即为将输入的三个整数从小到大排序后的结果。
具体代码如下:
```c++
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cout << "请输入三个整数:" << endl;
cin >> a >> b >> c;
int *p1 = &a, *p2 = &b, *p3 = &c;
if (*p1 > *p2)
{
int *temp = p1;
p1 = p2;
p2 = temp;
}
if (*p2 > *p3)
{
int *temp = p2;
p2 = p3;
p3 = temp;
}
if (*p1 > *p2)
{
int *temp = p1;
p1 = p2;
p2 = temp;
}
cout << *p1 << " " << *p2 << " " << *p3 << endl;
return 0;
}
```
当用户输入三个整数为 3、2、5 时,输出为:
```
2 3 5
```
这说明我们的指针排序方法是实现正确的,可以得到正确结果。
### 回答3:
指针法是C语言中非常重要的一种重要的编程思想和技能。学会使用指针法,可以更加灵活高效地进行编程。对于输入的3个整数排序,按从小到大的顺序输出,可以通过指针法来实现。 首先,我们可以定义3个int类型的变量a、b、c,来分别存储输入的3个整数。然后,我们需要定义3个指向int类型数据的指针pa、pb、pc,分别指向a、b、c这三个变量。 接下来,我们需要使用if语句对a、b、c进行比较,并用指针比较它们的值的大小。这样,我们就可以判断数值的大小,然后通过交换指针的指向实现三个数的排序。 最后,我们可以按照从小到大的顺序输出这三个数。具体实现方法如下:
#include <stdio.h>
void main()
{
int a, b, c;
int *pa, *pb, *pc;
scanf("%d %d %d", &a, &b, &c);
pa = &a;
pb = &b;
pc = &c;
if (*pa > *pb)
{
int temp;
temp = *pa;
*pa = *pb;
*pb = temp;
}
if (*pa > *pc)
{
int temp;
temp = *pa;
*pa = *pc;
*pc = temp;
}
if (*pb > *pc)
{
int temp;
temp = *pb;
*pb = *pc;
*pc = temp;
}
printf("%d %d %d\n",*pa, *pb, *pc);
}
以上就是使用指针法实现对输入的3个整数排序,按从小到大的顺序输出的具体方法,希望能够为大家提供帮助。
相关推荐
![](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)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)