求输入三个整数a、b、c,要求按由大到小的顺序将它们输出。使用指针来实现。c语言
时间: 2024-02-20 07:58:46 浏览: 65
好的,以下是实现这个功能的C语言代码:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c) {
if (*a < *b) {
int tmp = *a;
*a = *b;
*b = tmp;
}
if (*a < *c) {
int tmp = *a;
*a = *c;
*c = tmp;
}
if (*b < *c) {
int tmp = *b;
*b = *c;
*c = tmp;
}
}
int main() {
int a, b, c;
printf("请输入三个整数,以空格分隔:\n");
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("排序后的结果为:%d %d %d\n", c, b, a);
return 0;
}
```
这里我们定义了一个 `sort` 函数,接收三个指向整数的指针,并通过比较和交换来实现对它们的排序。在 `main` 函数中,我们通过 `&` 符号将变量 `a`、`b`、`c` 的地址传递给 `sort` 函数,从而实现了指针传参。最后输出排序后的结果。
相关问题
这个问题要求输入三个整数a、b、c,要求按由大到小的顺序将它们输出。使用指针来实现。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("请输入三个整数,以空格分隔:\n");
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("排序后的结果为:%d %d %d\n", a, b, c);
return 0;
}
```
这里我们定义了一个 `swap` 函数用于交换两个整数的值,以及一个 `sort` 函数,接收三个指向整数的指针,并通过比较和交换来实现对它们的排序。在 `main` 函数中,我们通过 `&` 符号将变量 `a`、`b`、`c` 的地址传递给 `sort` 函数,从而实现了指针传参。最后输出排序后的结果。
输入三个整数,按大到小的顺序输出,要求按指针实现的C语言程序代码
以下是按指针实现的C语言程序代码:
```c
#include <stdio.h>
void sort(int *a, int *b, int *c);
int main() {
int a, b, c;
printf("请输入三个整数:");
scanf("%d%d%d", &a, &b, &c);
sort(&a, &b, &c);
printf("按大到小顺序输出为:%d %d %d", a, b, c);
return 0;
}
void sort(int *a, int *b, int *c) {
int tmp;
if (*a < *b) {
tmp = *a;
*a = *b;
*b = tmp;
}
if (*a < *c) {
tmp = *a;
*a = *c;
*c = tmp;
}
if (*b < *c) {
tmp = *b;
*b = *c;
*c = tmp;
}
}
```
以上程序中,sort函数用来实现三个整数的排序,由于需要修改原始数据,所以采用了指针传递参数的方式。在主函数中,我们通过调用sort函数并传入三个整数的指针,来实现按大到小顺序输出的功能。
阅读全文