输入三个整数,按由小到大的顺序输出,要求使用指针的代码
时间: 2023-12-07 13:14:49 浏览: 50
好的,下面是使用指针的代码:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c) {
int temp;
if (*a > *b) {
temp = *a;
*a = *b;
*b = temp;
}
if (*b > *c) {
temp = *b;
*b = *c;
*c = temp;
}
if (*a > *b) {
temp = *a;
*a = *b;
*b = temp;
}
}
int main() {
int a, b, c;
int *pa = &a, *pb = &b, *pc = &c;
printf("请输入三个整数:");
scanf("%d%d%d", pa, pb, pc);
sort(pa, pb, pc);
printf("排序后的结果为:%d %d %d\n", *pa, *pb, *pc);
return 0;
}
```
在主函数中,我们输入三个整数,并将它们的地址分别赋值给指针 `pa`、`pb` 和 `pc`。然后我们调用 `sort` 函数,传入这三个指针的值,函数内部进行排序操作,最后在主函数中输出排序后的结果。
相关问题
用指针方法,输入三个整数按由小到大顺序输出
以下是使用指针方法,输入三个整数按由小到大顺序输出的代码示例:
```c
#include <stdio.h>
void swap(int* a, int* b) {
int temp;
temp = *a;
*a = *b;
*b = temp;
}
void sort(int* p1, int* p2, int* p3) {
if (*p1 > *p2) swap(p1, p2);
if (*p1 > *p3) swap(p1, p3);
if (*p2 > *p3) swap(p2, p3);
}
int main() {
int a, b, c, *p1 = &a, *p2 = &b, *p3 = &c;
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
sort(p1, p2, p3);
printf("排序后的结果为:%d %d %d\n", *p1, *p2, *p3);
return 0;
}
```
c语言使用指针输入三个整数,按由大到小的顺序输出
好的,以下是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;
}
```
程序通过定义 `sort()` 函数,对输入的三个整数进行排序。 `swap()` 函数用于交换两个整数的值, `sort()` 函数则通过 `swap()` 函数实现从大到小的排序。最后,在 `main()` 函数中调用 `sort()` 函数,并输出排序后的结果。