使用C语言输入3个整数,按由大到小的顺序输出。(用指针做)
时间: 2024-03-22 18:37:26 浏览: 17
好的,下面是代码:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c) {
if (*a < *b) {
int t = *a;
*a = *b;
*b = t;
}
if (*b < *c) {
int t = *b;
*b = *c;
*c = t;
}
if (*a < *b) {
int t = *a;
*a = *b;
*b = t;
}
}
int main() {
int a, b, c;
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("%d %d %d\n", a, b, c);
return 0;
}
```
这个程序中,我们定义了一个 `sort()` 函数,它将三个整数按由大到小的顺序排序。在 `main()` 函数中,我们使用 `scanf()` 函数输入三个整数,然后调用 `sort()` 函数,将它们排序。最后,我们使用 `printf()` 函数输出排序后的结果。需要注意的是,我们在调用 `sort()` 函数时,传递的是三个整数的地址,而不是它们的值。这样做可以让 `sort()` 函数直接修改这三个整数的值。
相关问题
c语言输入三个整数按由小到大的顺序输出用指针
以下是一个用指针实现的C语言程序,用于输入三个整数并按照由小到大的顺序输出:
```c
#include<stdio.h>
void sort(int *q1, int *q2, int *q3);
void swap(int *p4, int *p5);
int main() {
int a, b, c;
int *p1, *p2, *p3;
scanf("%d%d%d", &a, &b, &c);
p1 = &a;
p2 = &b;
p3 = &c;
sort(p1, p2, p3);
printf("%d %d %d", a, b, c);
return 0;
}
void sort(int *q1, int *q2, int *q3) {
void swap(int *p4, int *p5);
if (*q1 < *q2)
swap(q1, q2);
if (*q1 < *q3)
swap(q1, q3);
if (*q2 < *q3)
swap(q2, q3);
}
void swap(int *p4, int *p5) {
int t;
t = *p4;
*p4 = *p5;
*p5 = t;
}
```
这个程序首先定义了两个函数`sort`和`swap`,分别用于排序和交换两个整数的值。然后在`main`函数中,通过指针将输入的三个整数与变量`a`、`b`、`c`关联起来。接下来,调用`sort`函数对这三个整数进行排序。最后,使用`printf`函数按照由小到大的顺序输出这三个整数。
使用c语言用指针编程实现:输入3个整数,按由小到大顺序输出。
可以使用冒泡排序来实现这个功能,具体代码如下:
```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;
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` 函数进行排序,最后输出结果。