13.编程实现:输入三个整数,按由大到小的顺序输出。 要求: (1) 通过scanf函数输入三个数据并存入三个变量中; (2) 利用指针实现从大到小输出;
时间: 2024-02-25 21:56:22 浏览: 23
好的,以下是实现上述功能的C语言代码:
```c
#include <stdio.h>
int main() {
int a, b, c;
int *p1, *p2, *p3, temp;
// 读入三个整数
printf("请输入三个整数:\n");
scanf("%d %d %d", &a, &b, &c);
// 指针指向三个整数
p1 = &a;
p2 = &b;
p3 = &c;
// 从大到小排序
if (*p1 < *p2) {
temp = *p1;
*p1 = *p2;
*p2 = temp;
}
if (*p1 < *p3) {
temp = *p1;
*p1 = *p3;
*p3 = temp;
}
if (*p2 < *p3) {
temp = *p2;
*p2 = *p3;
*p3 = temp;
}
// 输出结果
printf("从大到小输出:\n");
printf("%d %d %d\n", *p1, *p2, *p3);
return 0;
}
```
运行代码后,会让你输入三个整数,然后使用指针将它们从大到小排序并输出。注意,在判断大小关系时使用了指针的解引用操作`*p1`、`*p2`、`*p3`。
相关问题
使用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` 函数进行排序,最后输出结果。
使用指针编程实现:输入3个正整数,按由小到大顺序输出
下面是使用指针编程实现输入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个正整数,程序就会按由小到大的顺序输出它们。