习题 2.4(3) 有3个数a, b, c,要求按大小顺序把它们输出。

来源:互联网 发布:阿里云服务器禁ping 编辑:程序博客网 时间:2024/06/06 05:10

C程序设计 (第四版) 谭浩强 习题2.4(3) 个人设计

习题 2.4 (3) 有3个数a, b, c,要求按大小顺序把它们输出。

按从大到小顺序排列

代码块

方法1:(利用比较法选择结构)

#include <stdio.h>int main(){    int a, b, c;    scanf("%d %d %d", &a, &b, &c);              //输入3个数    //3个数进行排序并输出    if (a > b)        if (a > c)            if (b > c)                printf("%d %d %d\n", a, b, c);            else                printf("%d %d %d\n", a, c, b);        else            printf("%d %d %d\n", c, a, b);    else        if (b > c)            if (a > c)                printf("%d %d %d\n", b, a, c);            else                printf("%d %d %d\n", b, c, a);        else            printf("%d %d %d\n", c, b, a);    return 0;}

方法2:(利用起泡法)

#include <stdio.h>int main(){    int v[4], i, j, temp;    for (i = 0; i < 3; i++)       //输入3个数        scanf("%d", &v[i]);    //起泡法排序    for (i = 0; i < 3; i++)        for (j = 0; j < 3; j++)            if (v[j] < v[j+1]){                temp = v[j];                v[j] = v[j+1];                v[j+1] = temp;            }    for (i = 0; i < 3; i++)       //输出排序顺序        printf("%d ", v[i]);    printf("\n");    return 0;}

方法3:(利用函数的模块化设计)

#include <stdio.h>void input(int n[], int c);          //定义输入函数void print(int n[], int c);          //定义输出函数void btos(int v[], int c);           //定义排序函数int main(){    int num[3];    input(num, 3);    btos(num, 3);    print(num, 3);    return 0;}//输入函数void input(int n[], int c){    int i;    for (i = 0; i < c; i++)        scanf("%d", &n[i]);}//输出函数void print(int n[], int c){    int i;    for (i = 0; i < c; i++)        printf("%d ", n[i]);    printf("\n");}//排序函数(起泡法)void btos(int v[], int c){    int i, j, temp;    for (i = 0; i < c; i++)        for (j = i+1; j < c; j++)            if (v[i] < v[j]){                temp = v[i];                v[i] = v[j];                v[j] = temp;            }}

按从小到大顺序排列同理。

阅读全文
0 0
原创粉丝点击