输入三个整数,按大到小的顺序输出,要求按指针实现的C语言程序代码
时间: 2024-02-20 09:57:06 浏览: 19
以下是按指针实现的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函数并传入三个整数的指针,来实现按大到小顺序输出的功能。
相关问题
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()` 函数,并输出排序后的结果。
C语言用指针实现:输入3个整数,按由大到小的顺序输出
好的,这是一个比较基础的 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;
}
```
在这个程序中,我们首先定义了一个 `swap` 函数,用于交换两个整数的值,它接受两个指向整数类型变量的指针作为参数。然后定义了一个 `sort` 函数,用于对输入的三个整数按由大到小的顺序进行排序,它接受三个指向整数类型变量的指针作为参数。
在 `main` 函数中,我们首先从标准输入读取三个整数,并将它们分别赋值给变量 `a`、`b` 和 `c`。然后调用 `sort` 函数,对它们进行排序。最后按照从大到小的顺序输出它们的值。