使用指针编程实现:输入3个正整数,按由小到大顺序输出
时间: 2023-10-31 17:15:36 浏览: 42
下面是使用指针编程实现输入3个正整数,按由小到大顺序输出的示例代码:
```
#include <stdio.h>
void swap(int *a, int *b); // 声明交换两个整数的函数
int main() {
int a, b, c;
int *pa = &a, *pb = &b, *pc = &c; // 定义3个指针变量,分别指向a、b、c
printf("请输入三个正整数:\n");
scanf("%d%d%d", pa, pb, pc);
if (*pa > *pb) swap(pa, pb); // 如果a > b,交换a和b的值
if (*pa > *pc) swap(pa, pc); // 如果a > c,交换a和c的值
if (*pb > *pc) swap(pb, pc); // 如果b > c,交换b和c的值
printf("按由小到大顺序输出:\n");
printf("%d %d %d\n", *pa, *pb, *pc);
return 0;
}
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
```
运行程序后,输入3个正整数,程序就会按由小到大的顺序输出它们。
相关问题
c语言使用指针编程实现:输入3个正整数,按由小到大顺序输出。
以下是一种实现方式:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c) {
if (*a > *b) {
int temp = *a;
*a = *b;
*b = temp;
}
if (*b > *c) {
int temp = *b;
*b = *c;
*c = temp;
}
if (*a > *b) {
int temp = *a;
*a = *b;
*b = 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`函数,用于将三个数按由小到大排序。在`main`函数中,先输入三个正整数,然后调用`sort`函数进行排序,最后输出排序后的结果。其中,`sort`函数使用指针作为参数,可以直接修改原变量的值。
c语言用指针编程实现:输入3个正整数,按由小到大顺序输出
可以使用指针来实现输入3个正整数,并按从小到大的顺序输出。
以下是代码示例:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c);
int main() {
int a, b, c;
printf("请输入三个正整数:\n");
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("从小到大的顺序输出为:%d %d %d\n", a, b, c);
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`的函数,它接受三个指向整数的指针参数。在此函数中,我们使用冒泡排序的方法对三个数进行排序。然后在主函数中,我们使用`&`运算符将三个整数的地址传递给`sort`函数进行排序,最后按顺序输出这三个整数。