输入三个整数abc使用指针变量按从小到大的顺序输出
时间: 2023-08-29 20:04:38 浏览: 74
好的,可以按照以下方式实现:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c) {
if (*a > *b) {
int temp = *a;
*a = *b;
*b = temp;
}
if (*a > *c) {
int temp = *a;
*a = *c;
*c = temp;
}
if (*b > *c) {
int temp = *b;
*b = *c;
*c = temp;
}
}
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;
}
```
这个程序接受三个整数的输入,然后使用 `sort` 函数按从小到大的顺序对这三个整数进行排序,最后输出排序后的结果。请注意,函数 `sort` 的参数是指向整数的指针,这样可以直接修改传递进来的变量。
相关问题
利用指针变量将输入三个整数按从小到大顺序输出
好的,可以尝试以下代码:
```c
#include <stdio.h>
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 0;
}
```
在主函数中,我们先读入三个整数,然后通过 `swap` 函数将它们按从小到大排序,最后输出结果即可。这里 `swap` 函数用于交换两个数的值,参数使用指针类型可以直接修改原变量的值。
用指针变量按从小到大的顺序输出三个整数
可以使用指针变量和条件语句来实现按从小到大的顺序输出三个整数。具体步骤如下:
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
```