题目:输入3个数a、b、c,按照大小顺序输出。

程序分析:利用指针方法。

实例

#include <stdio.h>

void swap(int *, int *);

int main(void) {
    int a, b, c;
    int *p1, *p2, *p3;

    printf("输入 a, b ,c:\n");
    scanf("%d %d %d", &a, &b, &c);

    p1 = &a;
    p2 = &b;
    p3 = &c;

    if (a > b)
        swap(p1, p2);
    if (a > c)
        swap(p1, p3);
    if (b > c)
        swap(p2, p3);

    printf("%d %d %d\n", a, b, c);
}

void swap(int *s1, int *s2) {
    int t;
    t = *s1;
    *s1 = *s2;
    *s2 = t;
}

以上代码执行输出结果为:

输入 a, b ,c:
1 3 2
1 2 3

在上述代码中,我们通过指针方法实现了按照大小顺序输出三个数。首先,我们使用scanf函数从用户输入中读取三个数的值。然后,我们声明了三个指针p1p2p3,并将它们分别指向变量abc。接下来,我们使用条件语句和swap函数交换指针所指向的变量的值,以确保它们按照从小到大的顺序排列。最后,我们使用printf函数按顺序输出三个数的值。

请注意,在swap函数中,我们通过指针参数*s1*s2来交换变量的值。使用指针参数可以直接修改传递给函数的变量,从而实现了交换的操作。

标签: c语言, c语言教程, c语言技术, c语言学习, c语言学习教程, c语言下载, c语言开发, c语言入门教程, c语言进阶教程, c语言高级教程, c语言面试题, c语言笔试题, c语言编程思想, c语言练习, c语言练习题